Skip to main content

Full text of "The computer tutor : Atari homecomputer edition : learning activities for homes and schools"

See other formats






■ HOMECOMPUTER EDITION m 












Learning Adivilies 




















for Homes and Schools 




f 


Y 










[ 










For the ATARr 400/800,™ 
















[■- ,. 




/ 






600XL™, 800XL™, 1200XL™ 


























1400XL™ and 1450XLD™ 












• 














Home Computers and the 






















' 




ATARI VCS 2600™75200™ 


























Qjmputer Keyboards 


























■■■■■■■■■■ 


■ 






1 








, . /' 






By Gafy W Orwig and William S. Hodges 


















L^ j_l ■ T ■" 1 










f: 


■ - ' - . ■ ■ ■ , V 
* ^^ Litrie, Brown Microcomputer Bookshelf S ^ 



THE COMPUTER TUTOR: 

ATARI® HOME COMPUTER EDITION 

Learning Activities for Homes and Schools 



For the ATARI® 400/800™, 600XL™, 800XL™, 1 200XL™, 
1400XL™, 1450XLD™, Home Computers and the 
ATARI VCS 2600™/5200™ Computer Keyboards 



GARY W. ORWIG 

University of Central Florida 

WILLIAM S. HODGES 




LITTLE, BROWN AND COMPANY 

Boston Toronto 



Library of Congress Cataloging in Publication Data 

Orwig, Gary W., 1945- 
The computer tutor. 

(Little; Brown computer systems series) 

Bibliography: p. 

1. Computer-assisted instruction. 2. Activity programs 
in education. I. Hodges, William S. II. Title, 
m. Series. 

LB1028.5.07 1983 371.3'9445 83-9848 

ISBN 0-316-66502-9 



Copyright © 1983 by Gary W. Orwig and William S. Hodges 



Ail rights reserved No part of this book may be reproduced in any form or by any 
electronic or mechanical means including information storage and retrieval systems 
without permission in writing from the publisher, except by a reviewer who may quote 
brief passages in a review. 

Library of Congress Catalog Card No. 83-9848 

ISBN D-31b-bbS0S-T 



SEM 

Published simultaneously in Canada 

by Little, Brown &. Company (Canada) Limited 

Printed in the United States of America 

Disclaimer of Liabilities: Due care has been exercised in the preparation of this book to 
ensure its effectiveness. The authors and publisher make no warranty, expressed or 
implied, with respect to the programs or other contents of this book. In no event will the 
authors or publisher be liable for direct, indirect, incidental, or consequential damages in 
connection with or arising from the furnishing, performance, or use of this book. 
This book is published by Little, Brown and Company (Inc.], which is not affiliated with 
Atari, Inc. Atari is not responsible for any inaccuracies. 

Illustrations by Jesse Clay 

ATARI is a registered trademark of Atari, Inc. 

400/800, 600XL, 800 XL, 1200XL, 1400XL, 1450XLD, and VCS 2600/5200 are trademarks 

of Atari, Inc. 

Microsoft is a registered trademark of Microsoft Corporation. 



FOREWORD 



Here is a book for parents who are growing with their children, who care about their 
learning, and who like to be involved with them in new and exciting ways. It is a book for 
parents who would like to play with their children while their children play with 
computers, or play with their computers while their children play with those same 
computers. And it is a book for teachers who want computer-assisted instructional 
exercise material for the classroom microcomputer. In short, here is a book for almost 
anyone who is interested in children, in education, in computers. 

Americans have always been interested in children and in education. They've also 
been interested in applying technology in education and play, as in other areas of their 
lives. When necessary, they've been prepared to study at home, no matter what feeble 
technology they had at their disposal. This Great American Tradition of self-education is 
exemplified by young Abraham Lincoln studying by firelight, writing in charcoal on a 
shovel. 

Today, of course, learning is more complex, so it is easy to leave the schools in charge 
of the whole job. But the home computer revolution has given today's Honest Abe a new 
kind of shovel. This new "shovel" isn't quite as easy to use as the old kind — and that's 
where Orwig and Hodges come in. They've assembled a book of practical computer- 
assisted instruction (CAI) for real people with real ideas about what they want to learn, or 
want their children or students to learn. 

More sophisticated programs for computer-assisted instruction certainly exist. But 
the beauty of the shovel wasn't its sophistication, but its accessibility. Learners want to be 
able to understand CAI programs when they decide to get inside and make a few custom 
changes. 

Chesterfield once said, 'There are three classes of people in the world. The first learn 
from their own experience — these are wise; the second learn from the experience of 
others — these are happy; the third neither learn from their own experience nor the 
experience of others — these are fools." The person who programs a home computer for 
self-education is both wise and happy when using a book like The Computer Tutor. There 
is the very direct learning obtained from interacting with the programs, but perhaps even 
more important is the learning about learning that comes from getting behind the scenes 
through sharing the authors' experience. 

If you already own a computer, you know what a powerful teacher it can be, but 
perhaps you don't suspect its full power or know how to harness it to your own learning 



goals. If so, you're likely to be receptive to Orwig and Hodges. You'll undoubtedly be able 
to think of hundreds of lessons which can be created along the lines of one of this book's 
model programs. 

If you don't already own a computer, I can think of no better reason for investing in 
one than as a self-education device. And I can think of no better place to start than with 
one of the programs in this book. I don't promise you'll become The Great Emancipator, 
or even just an ordinary President of the United States. But I will promise that you'll be 
taking part in The Great American Tradition — and it's easier than splitting rails! 

Gerald M. Weinberg 

Series Editor 



VI 



PREFACE 



Thomas Jefferson, a member of the original group of architects of the United States 
government and third U.S. President, once stated that in order to have an informative, 
cohesive society, the masses must be educated. In his day and time Jefferson was speaking 
about the 3 R's of reading, writing, and arithmetic. He never dreamed that a 4th R would 
develop in the future that would be just as important to the continued evolution of an 
informed society as were the original basic disciplines of education. 

It has been predicted that this 4th R in education will be (or already is) the need for 
individuals to develop fundamental computer literacy. Digital computers and computer 
programming have been in existence for decades; however, with the appearance of 
microcomputers in the 1970's, the importance of computer literacy was dramatically 
magnified. Educators could no longer ignore the computer as an important tool, 
especially when they discovered that many of their students had microcomputers in their 
own homes. It has been predicted that the 1980's will be the beginning of computer 
education for the entire world on a mass marketing basis, and that anyone not computer 
Uterate will be as lost in society as those who neither read nor write today. 

Educators who have worked with microcomputers in programmed instruction (PI) 
classrooms unanimously agree that microcomputers motivate students (especially in 
remedial training) more than any other single instructional tool. Computer-assisted 
instruction (CAI) teaches students logical thinking, allows for individualized review and 
practice (drill and practice), provides immediate feedback on performance, and in many 
cases gives a student a chance to demonstrate his or her creativity. Automatic interaction 
and instant feedback gives CAI a tremendous advantage over other audio/visual 
classroom techniques. 

Although some critics charge that CAI is "mechanical" and impersonal, this rarely is 
the case. In fact, a student in need of remedial instruction can often obtain more 
personalized, "humanistic" attention from well designed CAI programs than he or she 
can get from a classroom with 34 other students in it. Most instructors using CAI feel 
that they become consultants instead of lecturers. These teachers are not hardware or 
software experts, but they do know enough to instruct students on how to use 
microcomputers and peripherals such as cassette tapes, disks, and printers. 

Complete teacher acceptance and training in CAI is essential for the predicted 
computer literacy evolution of the 1980's to take place. The lack of high-quality, portable 
CAI courseware has slowed the computer literacy movement; to help fill this courseware 



vii 



void we have created a book intended to make CAI programs easily accessible to 
educators worldwide. 

The Computer TYitor was written to be both educational and entertaining to teachers, 
parents, and students alike. Our courseware and the explanation of programming 
techniques cover a variety of subjects such as mathematics, science, social studies, etc. 
The courseware also includes a discussion on the insertion of graphic subroutines into 
the program listings. At the same time we have tried to maintain a tone designed to 
exploit the excitement and challenge of CAI. 

We realize that without computer hardware our courseware cannot be utiUzed. With 
increasing distribution of low- cost microcomputers into educational systems, more 
hardware is becoming available to educators. However, greater efforts must be directed 
toward establishing computer literacy in the minds of taxpayers (parents) and local, state, 
and federal government officials. Computer awareness groups can be formed to educate 
taxpayers and school board officials of the educational and practical usefulness of CAI in 
their school systems. School seminars can also be given at PTA (Parent/Teacher 
Association) meetings to inform the public of the need for computer hardware and 
software as teaching tools for students. 

CAI will never replace teachers as human factors in classrooms. However, it will give 
educators an excellent opportunity to enhance their teaching techniques. For example, it 
might give instructors time away from lecture and other "mass education" delivery 
methods in order to devote more personal time to both remedial and gifted students in 
the classroom. 

We hope The Computer Tutor will provide a vehicle to assist the educator in CAI and 
to act as a stimulus toward a better understanding of computers and computer literacy by 
the general public. The task will not be an easy one and, like most worthwhile things, it 
will take time. However, with the help of teachers, parents, officials, and students 
working together, we believe that computer literacy on the part of the public will 
eventually be achieved. And we suspect that Thomas Jefferson would be very pleased. 



Gary W. Orwig 
William S. Hodges 



VIM 



CONTENTS 



INTRODUCTION 
PROGRAM DISCUSSION 

LINEAR PROGRAMS 

Capitals of Nations 

Guess the Numbers 

Guess the Word 

Math Tutor 

Math Word Problems 

Memory Test— Letters 

Memory Test— Numbers 

Scrambled Words 

Spelling Quiz 

Story Teller 

Synonyms/Antonyms 

Test Tutor 

Time, Distance, and Velocity 

Too High— Too Low 

Trivia Quiz 

BRANCHING PROGRAMS 

Factor Game 
Math Teacher 
Metrics 
Story Writer 

SIMULATION PROGRAMS 

Acceleration 
Ballistics 
Car Wash 

Checl<-Out Counter 
Stock Marl<et 
Teach Me 

Appendix A: GRAPHIC SUBROUTINES 



1 

2 



6 

19 

28 

40 

53 

64 

73 

82 

92 

100 

109 

121 

133 

156 

162 

173 

174 
189 
203 
222 

237 

238 
251 
264 
283 
297 
318 

331 



IX 



Appendix B: GLOSSARY 335 

Appendix C: REFERENCES 34I 



THE COMPUTER TUTOR 



INTRODUCTION 



Computer-assisted instruction (CAI) can be traced back to a machine, invented in 
1924 by Dr. Sidney Pressey, that was used to grade multiple-choice examinations. CAFs 
real roots are, however, associated with B. F. Skinner, a behavioral psychologist who, in 
1954, published an article in the Harvard Education Review entitled "The Science of 
Learning and the Art of Teaching." Programmed instruction (PI) in education was made 
more prominent as a direct result of this article. Such terms as linear programming, drill 
and practice, branching, and simulation also became a part of an educator's vocabulary. 
CAI is nothing more than programmed instruction (PI) using computer hardware and 
software to carry out the teaching techniques. The main value of CAI is that it is an 
effective teaching tool for individual instruction rather than for a group lecturing 
method. 

The Computer Tutor: ATARI® Home Computer Edition is a guide for developing 
CAI in elementary and secondary schools as well as in the home environment. Twenty- 
five computer programs teaching mathematics, science, vocabulary, and social studies by 
use of linear, branching, and simulation programmed instruction (PI) techniques have 
been included in the book. All program listings and their sample runs were written and 
operated on an ATARI 400/800 Home Computer using 16K Microsoft® BASIC and 
ATARI BASIC computer programming languages. All programs will run on the ATARI 
400/800™, 600XL™, 800XL", 1200XL~, 1400XL~, and 1450XLD™ Home Computers and 
on the ATARJ VCS 2600^/5200™ Computer Keyboard. 

Graphic and sound subroutines for pictorial displays and sound effects are included 
in Appendix A to be used as suggested guides for adding graphics and sound to the 
programs. 

Programming techniques and suggestions for modifying and/or personalizing the 
programs included in the text are mentioned after each program description. A Glossary 
covering some computer hardware and software terms, CAI terms, and graphic 
definitions is included in Appendix B. The Glossary should assist the reader or instructor 
in understanding some of the terms used in the explanations of the programs and 
elsewhere in the book. 

All the program Ustings are easily entered into the computer's memory by following 
the programming instructions described in each individual computer hardware owner's 
manual. 



PROGRAM DISCUSSION 



The following programs have been written in both the original ATARI BASIC and 
the newer ATARI Microsoft BASIC. Each of these BASIC dialects has some good points 
and some bad points. The original BASIC is in a plug-in cartridge and can be used with a 
minimal ATARI Home Computer set-up. Unfortunately, the original BASIC has very 
primitive word handling routines, which make certain parts of these programs difficult 
to follow. The newer ATARI Microsoft BASIC has far more sophistication, thus making 
for easier program writing. It is currently available, however, only on a floppy disk. 
Because this version must be loaded into memory, the computer must have 48 thousand 
bytes of program memory and a disk drive. There are rumors that this "extended" BASIC 
will soon be available in a cartridge, though, so check with your local store. 

The following programs have been written so that they will perform almost 
identically using either BASIC language. While this gives you a chance to compare 
routines in each dialect, it does not allow for the most efficient use of the powerful 
Microsoft version. The individual program notes will point out areas where modifica- 
tions might be made in order to encourage you to learn to use some of the new commands 
in the Microsoft BASIC. 

The programs presented here contain the following components: 

A Program Description 

B. Program Notes 

C. Program Listings (for ATARI BASIC and Microsoft BASIC) 

D. Sample Run 

It should be noted that the sample runs have been condensed (many blank lines have 
been removed) to save space. In many cases, the programs are very active, with 
information constantly scrolling on and off the video screen. One of the shorter 
programs, with all scrolling lines left in, produced over 20 feet of print-out on a sample 
run! In addition, some of the sample runs, such as the Spelling Quiz, don't seem to make 
a lot of sense. You must keep in mind that while the print-out is permanent, the actual 
video image can come and go very rapidly. 



Finally, you will notice that the program listings follow very definite patterns. 
Whenever possible, the same line numbers perform the same functions. It is wise to 
develop this habit because you will find that subroutines are easy to memorize if they are 
repeated frequently. For variety, though, the same function has sometimes been 
performed several different ways. This was not an accident— it is intended to allow you to 
select your favorite method. And by all means, don't be satisfied with what is in this 
book! It is intended to get you started, but you should dig in and "customize" these 
programs to suit your own needs. 

Happy CAI! 




Hello! My name is Arthur. I have been selected as your guide to lead 
you through an exciting and rewarding adventure! Follow me as I 
demonstrate to you how fun and easy it is to learn mathematical and 
verbal skills with the use of personal computers. 



LINEAR PROGRAMS 



Linear programming is the most common form of programmed instruction (PI). It is 
presented in a logical (fixed) sequence of small steps or frames. When used with a 
computer, linear programming becomes a form of drill-and-practice computer-assisted 
instruction (CAI). The fifteen program Ustings and sample runs were chosen as a 
representative sample of Unear programs that provide instruction in basic mathematics, 
vocabulary, science, memory enhancement, and social studies. 




Capitals of Nations 



PROGRAM DESCRIPTION 

A geography lesson is presented in this program. For this "trip 
around the world/' the computer asks you a series of multiple- 
choice questions, asking you either to select the correct capital of a 
nation or the correct nation given the capital. The computer will 
ask you the questions you missed at a later time during the test. 
You must answer all of the questions correctly in order to complete 
the program. 

PROGRAM NOTES 

1. This program may need occasional updating. Nations and 
capitals do have a tendency to change! 

2. By changing the data base you could use this program to teach 
any sets of matched pairs like English/French, event/date, 
author/title, etc. 



PROGRAM LISTING: BASIC 



6 



100 REM CAPITALS OF NATIONS BY GARY ORWIG 

500 REM PUT MESSAGE ON SCREEN 

510 PRINT 

520 PRINT "ONE MOMENT PLEASE." 

lOOO REM INITIALIZATION 

lOlO TL=114 

1020 TL=TL+1 

1030 DIM N<4) ,CA*(TL*20),NA»<TL*20) 

1040 DIM CAI»(20),NAI*(20),S*(20),SA«(20) 



1050 FOR 1=1 TO TL 

1060 CA»(I»20-19,I*20)=" 

1070 NEXT I 

1080 NA«=CA« 

1090 CAI*=" 

1100 NAI«=CAI*:S»=CAI«:SA«=CAI« 

1110 REM READ IN NATION : CAPITAL ARRAYS 

1120 LN=1 

1130 FOR 1=1 TO TL 

1140 READ NAI«,CAI* 

IISO CAi»(LN)=CAI« 

1160 NA«(LN)=NAI« 

1170 LN=LN+20 

1180 NEXT I 

1190 G=0 

1200 TL=TL-1 

1210 BL=TL 

1220 N=0 

1230 REM USE FULL SCREEN 

1240 POKE 82, O 

1250 PRINT 

2000 REM INTRODUCTION 

2010 L=12 

2020 GOSUB 18000 

2030 PRINT " NATIONS AND CAPITALS" 

2040 60SUB 18000 

2050 DE=150 

2060 GOSUB 19000 

2070 GOSUB 18000 

2080 PRINT "THIS IS A PROGRAM WHICH WILL TEST YOUR" 

2090 PRINT "KNOWLEDGE OF NATIONS AND THEIR" 

2100 PRINT "CAPITALS." 

21 lO PRINT 

2120 PRINT "YOU WILL BE GIVEN MULTIPLE CHOICE" 

2130 PRINT "QUESTIONS WHICH HAVE FOUR ANSWERS EACH.' 

2140 PRINT 

2150 PRINT "YOU SHCHA.D ANSWER WITH A '1,' '2,'" 

2160 PRINT "'3,' OR '4.'" 

2170 PRINT 

2180 PRINT "TO STOP AT ANY TIME, TYPE IN A 'O'" 

2190 PRINT "FOR AN ANSWER." 

2200 PRINT 

2210 PRINT "YOU HAV^ A CHOICE:" 

2220 PRINT " 1. BE GIVEN THE NATION" 

2230 PRINT " AND ANSWER WITH THE CAPITAL" 

2240 PRINT 

2250 PRINT " 2. BE GIVEN THE CAPITAL" 

2260 PRINT " MMD ANSWER WITH THE NATION" 

2270 PRINT 

2280 PRINT "PICK '1' OR '2'" 

2290 INPUT SE 

2300 IF SE<1 OR SE>2 THEN 2280 

2310 L=:18 

2320 GOSUB 18000 

2330 L=9 

4000 REM MAIN PROGRAM 

4010 GOSUB lOOOO 

4020 REM C IS POSITION OF CORRECT ANSWER 



NUMBERS DIFFER 

OR N(1)=N(4) THEN 4050 

OR N<3)=N(4) THEN 4050 



8 



4030 C=INT(RND(0)«4)+1 

4040 REM PICK THREE NUMBERS 

4050 FOR 1=1 TO 3 

4060 N(I)=INT(RND(0)*TL)+1 

4070 NEXT I 

40BO N(4)=N<C) 

4090 N(C)=R 

4100 REM MAKE CERTAIN ALL FOUR 

41 lO IF N(1)=N(2) OR N(1)=N<3> 

4120 IF N(2)=N(3> OR N(2)=N(4) 

4130 IF SE=2 THEN 4250 

4140 REM PRINT CAPITALS 

4150 GOSUB 18000 

4160 PRINT "1.";CA«(N<1>*20-19,N<1)»20) 

4170 PRINT "2. ";CA«(N(2)*20-19,N(2)*20) 

4180 PRINT "3.";CA*(N(3)*20-19,N<3>*20) 

4190 PRINT "4. ";CA*(N(4)»20-19,N(4)*20) 

4200 GOSUB 18000 

42 lO PRINT "THE CAPITAL OF " 

4220 PRINT NA«(R*20-19,R*20) 

4230 PRINT "IS:" 

4240 GOTO 4340 

4250 REM PRINT NATIONS 

4260 GOSUB 18000 

4270 PRINT "1.";NA*(N(1)*20-19,N<1)»20) 

4280 PRINT "2.";NA*(N(2)»20-19,N<2)»20) 

4290 PRINT "3. "5NA*<N(3)*20-19,N<3>»20) 

4300 PRINT "4.";NA*(N(4)»20-19,N(4)»20) 

4310 GOSUB 18000 

4320 PRINT CA«(R*20-19,R*20) 

4330 PRINT "IS THE CAPITAL OF "; 

4340 INPUT SA 

4350 IF SA<1 OR SA>4 THEN 4680 

4360 IF SA=C THEN 4500 

4370 PRINT 

4380 PRINT "WRONG!" 

4390 IF SE=2 THEN GOTO 4450 

4400 PRINT 

44 lO PRINT "THE CAPITAL OF " 

4420 PRINT NA«<R*20-19,R*20) 

4430 PRINT " IS " ; CA«(R*20-19,R»20) 

4440 GOTO 4630 

4450 PRINT 

4460 PRINT CA*<R*20-19,R*20) 

4470 PRINT " IS THE CAPITAL OF " 

4480 PRINT NA*(R*20-19,R*20) 

4490 GOTO 4630 

4500 REM 

45 lO N=N+1 

4520 PRINT 

4530 PRINT "RIGHT! YOU HAVE ";N;" CORRECT! 

4540 REM REMOVE CORRECT ANSWER FRCMi LIST 

4550 S«=CA« ( R*20- 1 9 , R«20 > 

4560 CA« < R*20- 1 9 , R*20 ) =CA« < BL»20- 1 9 , BL»20 ) 

4570 CA« < BL»20- 1 9 , BL*20 ) =S« 

4580 S«=NA« ( R*20- 1 9 , R»20 ) 

4590 NA* (R»20-19, R»20) =NA» (BL»20-19, BL»20) 

4600 NA* ( BL»20- 1 9 , BL»20 ) =S* 



4610 BL=BL-1 

4A20 IF BL=0 THEN BOTO 4740 

4630 DE=150 

4640 60SUB 19000 

4650 G=G+1 

4660 GOTO 40 lO 

4670 REM STOP? 

4680 PRINT "DO YOU WANT TO STOP"; 

4690 INPUT SA« 

4700 IF SA*="Y" OR SA*="YES" THEN 4750 

4710 PRINT "WHAT WAS YOUR ANSWER" 

4720 PRINT "TO THE LAST PROBLEM"; 

4730 GOTO 4340 

4740 G=G+1 

■YOU GOT ";N;" RIGHT IN 






GUESSES' 



'WOULD YOU LIKE TO TRY AGAIN"; 



THEN GOTO 1190 



4750 PRINT 

4760 PRINT 

4770 PRINT 

4780 INPUT SA« 

4790 PRINT 

4800 IF SA*="Y" OR SA*="YES" 

48 lO END 

lOOOO REM RANDOMIZATION 

lOOlO R=INT(RND<0)»BL)+1 

10020 RETURN 

18000 REM SCROLLING 

18010 FOR 1=1 TO L 

18020 PRINT 

18030 NEXT I 

18040 RETURN 

19000 REM I^LAY 

19010 FOR 1=1 TO DE 

19020 NEXT I 

19030 RETURN 

21000 REM DATA 

21010 DATA AFGHAN I STAN, KABIA-, ALBANIA, TIRANA, ALGER I A, ALGIERS 

21020 DATA ANGOLA,LUANDA, ARGENTINA, BUENOS AIRES, AUSTRALIA, CA 

NBERRA 

21030 DATA AUSTRIA, VIENNA, THE BAHAMAS, NASSAU, BANGLADESH, DACC 

A 

2 1 040 DATA BARBADOS , BR I DGETOWN , BELG I UM , BRUSSELS , BOL I V I A , SUCR 

E 

21050 DATA BOTSWANA, GABORONE, BRAZIL, BRAS ILIA, BULGARIA, SOFIA 

21060 DATA BURMA, RANGOON, CAMBOD I A, PHNOM PENH, CANADA, OTTAWA 

21070 DATA CHILE, SANTIAGO, PEOPLE' S REP. OF CHINA, PEKING 

21080 DATA REPUBLIC OF CHINA, TAIPEI, COLOMBIA, BOGOTA, COSTA RI 

CA,SAN JOSE 

2 1 090 DATA CUBA , HAVANA , CYPRUS , N I COS I A , CZECHOSLOVAK I A , PRAGUE 

21100 DATA DENMARK, COPENHAGEN, DOMINICAN REPUBLIC, SANTO DOM IN 

GO 

21110 DATA ECUADOR, QUITO, EGYPT, CAIRO, EL SALVADOR, SAN SALVADO 

R 

21120 DATA ETHIOPIA, ADDIS ABABA, FIJI, SUVA, FINLAND, HELSINKI 

2 1 1 30 DATA FRANCE , PAR I S , GERMANY , BERL I N , GHANA , ACCRA , GREECE , AT 

HENS 

21140 DATA GUATEMALA, GUATEMALA CITY, HAITI , PORT-AU-PRINCE, HON 

DURAS , TEGUC I G ALPA 

21150 DATA HUNGARY,BUDAPEST, ICELAND, REYKJAVIK, INDIA, NEW DELH 

I 



2 1 1 60 DATA I NDONES I A , J AK ART A , I RAN , TEHRAN , I RAQ , BAGHDAD 

2 1 1 70 DATA I REL AND , DUBL I N , I SR AEL , JERUSALEM , I T AL Y , ROME 

21180 DATA JAMAICA, KINGSTON, JAPAN, TOKYO, JORDON, AMMAN, KENYA, N 

AIROBI 

21190 DATA SOUTH KOREA, SEOUL, KUWAIT, KUWAIT CITY, LAOS, VI ENT I A 

NE 

21200 DATA LEBANON, BEIRUT, LIBERIA, MONROVIA, LIBYA, TRIPOLI 

212 lO DATA LIECHTENSTEIN, VADUZ, MADAGASCAR, TANANARIVE, MALAYS I 

A, KUALA LUMPUR 

21220 DATA MALI , BAMAKO, MALTA, VALETTA, MAURITANIA, NOUAKCHOTT 

21230 DATA MEXICO, MEXICO CITY, MONGOLIA, ULAN BATOR, MOROCCO, R A 

BAT 

21240 DATA MOZAMBIQUE, MAPUTO, NEPAL, KATMANDU, Tt£ NETHERLANDS, 

AMSTERDAM 

21250 DATA NEW ZEALAND, WELL I NGTON, NICARAGUA, MANAGUA, NIGER, N I 

AMEY 

2 1 260 DATA N I GER I A , LAGOS , NORWAY , OSLO , OMAN , MUSCAT , PAK I STAN , I S 

LAMBAD 

2 1 270 DATA PANAMA , PANAMA , PARAGUAY , ASUNC I ON , PERU , L I MA 

21280 DATA PHILIPPINES, QUEZON CITY, POLAND, WARSAW, PORTUGAL, LI 

SBON 

21290 DATA RHODES I A, SALISBURY, ROMAN I A, BUCHAREST, SAUDI ARABIA 

, RIYADH 

21300 DATA SENEG AL , DAKAR , S I ERRA LEONE, FREETOWN, SOMALIA, MOGAD 

I SHU 

21310 DATA REP. OF S. AFRICA, PRETORIA & CAPE TOWN, SPAIN, M ADR 

ID 

21320 DATA SRI LANKA, COLOMBO, SUDAN, KHARTOUM, SWEDEN, STOCKHOLM 

21330 DATA SWITZERLAND, BERN, SYRIA, DAMASCUS, TANZANIA, DAR ES S 

ALAAM 

2 1 340 DATA THA I LAND , BANGKOK , TOGO , LOME , TONGA , NUKUALOFA 

21350 DATA TRINIDAD & TOBAGO, PORT OF SPAIN, TUNISIA, TUNIS, TUR 

KEY, ANKARA 

21360 DATA UGANDA, KAMPALA, RUSSIA (USSR) , MOSCOW, UNITED <¥%AB E 

MI RATES, ABU DHABI 

21370 DATA UNITED KINGDOM, LONDON, URUGUAY, MCHMTEVIDEO,VENEZUEL 

A, CARACAS 

21380 DATA VIETNAM, HANOI , YUGOSLAVIA, BELGRADE, ZAIRE, KINSHASA, 

ZAMBIA, LUSAKA 

21390 DATA EOF, EOF 



TABLE OF VARIABLES 



TL 



N( 



lOlO 


1020 


1020 


1030 


1030 


1050 


1130 


1200 


1200 


1210 


4060 




1030 


4060 


4080 


4080 


4090 


4110 


4110 


4110 


4110 


4110 


4110 


4120 


4120 


4120 


4120 


4120 


4120 


4160 


4160 


4170 


4170 


4iao 


4180 


4190 


4190 


4270 


4270 


4280 


4280 


4290 


4290 


4300 


4300 









10 



1030 1060 1080 1150 4160 4170 

4 ISO 4190 4320 4430 4460 4550 

4560 4560 4570 

NA« 

1030 1080 1160 4220 4270 4280 

4290 4300 4420 4480 4580 4590 

4590 4600 

I 

1050 1060 1060 1070 1130 1180 

4050 4060 4070 18010 18030 19010 
19020 

G 

1190 4650 4650 4740 4740 4750 



BL 

121 O 4560 4560 4570 4570 4590 
4590 4600 4600 4610 46 lO 4620 
lOOlO 

N 

1220 4510 45 lO 4530 4750 

L 

2010 2310 2330 18010 

DE 

2050 4630 19010 

SE 

2290 23O0 2300 4130 4390 

C 

4030 4080 4090 4360 

R 

4090 4220 4220 4320 4320 4420 

4420 4430 4430 4460 4460 4480 

4480 4550 4550 4560 4560 4580 

4580 4590 4590 lOOlO 

SA 

4340 4350 4350 4360 

S% 

1040 llOO 4550 4570 4580 4600 



SA« 

1040 llOO 4690 4700 4700 4780 
4800 4800 



11 



1040 1090 1100 1100 1100 1140 
1150 

NAI$ 

1040 1100 1140 1160 



LN 



1120 1150 1160 1170 1170 



PROGRAM LISTING: MICROSOFT BASIC 



lOO REM CAPITALS OF NATIONS BY GARY ORWIG 

500 REM RESEED RND 

510 RANDOMIZE 

lOOO REM INITIALIZATION 

lOlO TL = 114 

1020 DIM N(4),CA«(TL),NA«(TL) 

1030 REM READ IN NATION : CAPITAL ARRAYS 

1040 FOR 1 = 1 TO TL 

1050 READ NA«<I>,CA«(I} 

1060 NEXT I 

1070 G = O 

1080 BL = TL 

1090 N = O 

llOO REM USE FULL SCREEN 

1110 POKE 82, O 

2000 REM INTRODUCTION 

2010 L = 12 

2020 GOSUB 18000 

2030 PRINT " NATIONS AND CAPITALS" 

2040 GOSUB 18000 

2050 DE = lOOO 

2060 GOSUB 19000 

2070 GOSUB 18000 

•THIS IS A PROGRAM WHICH WILL TEST YOUR" 
■KNOWLEDGE OF NATIONS AND THEIR" 
•CAPITALS. *■ 



2080 PRINT 
2090 PRINT 
2100 PRINT 



"YOU WILL BE GIVEN MULTIPLE CHOICE" 
"QUESTIONS WHICH HAVE FOUR ANSWERS EACH. 



'YOU SHOULD ANSWER WITH A 
•'3,' OR '4.'" 



21 lO PRINT 

2120 PRINT 

2130 PRINT 

2140 PRINT 

2150 PRINT 

2160 PRINT 

2170 PRINT 

2180 PRINT "TO STOP AT ANY TIME, TYPE 

2190 PRINT "FOR AN ANSWER." 

2200 PRINT 

2210 PRINT 

2220 PRINT 

2230 PRINT 

2240 PRINT 

2250 PRINT 

2260 PRINT 

2270 PRINT 

2280 PRINT 



'1,' '2,'" 



IN A 'O' 



'YOU HAVE A CHOICE:" 

1. BE GIVEN THE NATION" 

AND ANSWER WITH THE CAPITAL' 



2. 



BE GIVEN THE CAPITAL" 

AND ANSWER WITH THE NATION' 



"PICK '1' OR '2' 



12 



2290 INPUT SE 



2300 IF SE < 1 OR SE > 2 THEN 2280 




2310 L = 18 






2320 60SUB 18000 






2330 L = 9 






4000 REM MAIN PROGRAM 






4010 60SUB lOOOO 






4020 REM C IS POSITION OF 


CORRECT ANSWER 




4030 C = RND<4) 






4040 REM PICK THREE NUMBERS 




4050 FOR I = 1 TO 3 






4060 N<I) = RND(TL) 






4070 NEXT I 






4080 N(4) s N<C) 






4090 N<C) = R 






4100 REM MAKE CERTAIN ALL 


FOUR NUMBERS DIFFER 


4110 IF N(l) » N(2) OR N(l) 


= N(3) OR N(l) 


= N(4) 


4120 IF N(2) = N<3) OR N(2} 


= N(4) OR N(3) 


= N(4) 


4130 IF SE = 2 THEN 4230 






4140 REM PRINT CAPITALS 






4150 60SUB 18000 






4160 PRINT •■l."iCA«(N(l)) 






4170 PRINT "2. ";CA*(N(2)) 






4180 PRINT "3.";CA*<N(3)) 






4190 PRINT "4.";CA«(N(4)) 






4200 GOSUB 18000 






4210 PRINT "THE CAPITAL OF 


";NA*<R);" IS" 


m 

» 


4220 GOTO 4310 






4230 REM PRINT NATIONS 






4240 GOSUB 18000 






4250 PRINT "1.";NA»(N<1)) 






4260 PRINT "2. ";NA*(N<2)) 






4270 PRINT "3.";NA*<N<3)) 






4280 PRINT ••4.";NA«(N(4)) 






4290 GOSUB 18000 






4300 PRINT CA»(R);" IS THE 


CAPITAL OF "; 




4310 INPUT SA 






4320 IF SA < 1 OR SA > 4 THEN 4610 




4330 IF SA = C THEN 4430 






4340 PRINT 






4350 PRINT "WRONG!" 






4360 IF SE = 2 THEN GOTO 4400 




4370 PRINT 






4380 PRINT "THE CAPITAL OF 


"JNA«(R)?" IS " 


;CA«(R>$ 


4390 GOTO 4560 






4400 PRINT 






4410 PRINT CA«(R);" IS THE 


CAPITAL OF ";NA*(R);"." 


4420 GOTO 4S60 






4430 RFM 






4440 N = N + 1 






4450 PRINT 






4460 PRINT "RIGHT! YOU HAVE ";N;" CORRECT! 


l> 


4470 REM RFMOVE CORRECT ANSWER FROM LIST 




4480 S« = CA«(R) 






4490 CA«(R) = CA«(BL) 






4500 CA«(BL) = S* 






4510 S« = NA«(R) 






4520 NA«(R) = NA«(BL) 






4530 NA«(BL) = S« 







THEN 4050 
THEN 40S0 



13 



4540 BL = BL - 1 

4550 IF BL = O THEN GOTO 4670 
4560 DE = lOOO 
4570 GOSUB 19000 
4580 6=6^1 
4590 GOTO 40 lO 
4600 REH STOP? 

4610 PRINT "DO YOU WANT TO STOP"; 
4620 II«*UT SA* 

4630 IF SA» = "Y" OR SA» = "YES" THEN 4680 
4640 PRINT "WHAT WAS YOUR ANSWER" 
4650 PRINT "TO THE LAST PROBLEM") 
4660 GOTO 4310 
4670 G = G + 1 

4680 PRINT "YOU GOT ";Nj" RIGHT IN ">Q;" GUESSES" 
4690 PRINT 

4700 PRINT "WOULD YOU LIKE TO TRY AGAIN"; 
4710 INPUT SA* 
4720 PRINT 

4730 IF SA* = "Y" OR SA* = "YES" THEN GOTO 1070 
4740 END 

lOOOO REM RANDOMIZATION 
lOOlO R = RND(BL) 
10020 RETURN 
18000 REM SCROLLING 
18010 FOR I = 1 TO L 
18020 PRINT 
18030 NEXT I 
18040 RETURN 
19000 REM DELAY 
19010 FOR I = 1 TO DE 
19020 NEXT I 
19030 RETURN 
21000 REM DATA 

21010 DATA "AFGHANISTAN", "KABUL", "ALBANIA", "TIRANA", "ALGERIA 
", "ALGIERS" 

2 1 020 DATA " ANGOLA " , " LUANDA " , " ARGENT I NA " , " BUENOS A I RES " , " AUS 
TRALIA", "CANBERRA" 

21030 DATA "AUSTRIA", "VIENNA" , "THE BAHAMAS", "NASSAU", "BMMGL A 
DESH", "DACCA" 

21040 DATA "BARBADOS" , "BRIDGETOWN" , "BELGIUM" , "BRUSSELS" , "BOL 
IVIA", "SUCRE" 

2 1 050 DATA " BOTSWANA " , " GABORONE " , " BRAZ I L " , " BRAS I L I A " , " BULGM) 
lA", "SOFIA" 

2 1 060 DATA " BURMA " , " RANGOON " , " C AMBOD I A " , " PHNOM PENH " , " CANADA 
"."OTTAWA" 

21070 DATA "CHILE", "SANTIAGO" , "PEOPLE'S REPUBLIC OF CHINA"," 
PEKING" 

21080 DATA "REPUBLIC OF CHINA", "TAIPEI", "COLOMBIA" , "BOGOTA" , 
"COSTA RICA", "SAN JOSE" 

21090 DATA "CUBA" , "HAVANA" , "CYPRUS" , "NICOSIA" , "CZECHOSLOVAK! 
A", "PRAGUE" 

21100 DATA "DENMARK", "COPENHAGEN", "DOMINICAN REPUBLIC" , "SANT 
O DOMINGO" 

21 1 lO DATA "ECUADOR" , "QUITO" , "EGYPT" , "CAIRO" , "EL SALVADOR" , " 
SAN SALVADOR" 

21120 DATA "ETHIOPIA", "ADDIS ABABA", "FIJI", "SUVA", "FINLAND", 
14 "HELSINKI" 



21 130 DATA "FRANCE" , "PARIS" , "GERMANY" , "BERLIN" , "8HANA" , "ACCR 

A" , "GREECE" , "ATHENS" 

21140 DATA "GUATEMALA", "GUATEMALA CITY" , "HAITI", "PORT-AU-PRI 

NCE" , "HONDURAS" , "TEGUCIGALPA" 

2 1 1 50 DATA " HUNGARY " , " BUDAPEST " , " I CELAND " , " RE YK J AV IK","INDIA 

","NEW DELHI" 

21 160 DATA " INDONESIA" , "JAKARTA" , " IRAN" , "TEHRAN" , " IRAQ" , "BAG 

HDAD" 

21 170 DATA " IRELAND" , "DUBLIN" , " ISRAEL" , "JERUSALEM" , " ITALY" , " 

ROME" 

21 180 DATA "JAMAICA" , "KINGSTON" , "JAPAN" , "TOKYO" , " JG«DON" , "AM 

MAN" , "KENYA" , "NAIROBI " 

2 1 1 90 DATA " SOUTH KOREA " , " SEOUL " , " KUW A IT"," KUW A IT C I T Y " , " LAO 

S", "VIENTIANE" 

21200 DATA "LEBANON", "BEIRUT" , "LIBERIA" , "MONROVIA", "LIBYA", " 

TRIPCM_I" 

2 1 2 1 O DATA "LI ECHTENSTE IN"," VADUZ " , " MADAGASCAR " , " TANANAR I VE " 

, "MALAYSIA", "KUALA LUMPUR" 

21220 DATA "MALI " , "BAMAKO" , "MALTA" , " VALETTA" , "MAl^ITANI A" , "N 

OUAKCHOTT" 

21230 DATA "MEXICO" , "MEXICO CITY" , "MONGOLIA" , "ULAN BATC«","M 

OROCCO "," RABAT " 

2 1 240 DATA " MOZ AMB I QUE " , " MAPUTO " , " NEPAL " , " KATMANDU " , " THE NET 

HERLANDS", "AMSTERDAM" 

2 1 250 DATA " NEW ZEALAND " , " WELL I NGTON " , " N I CARAGUA " , " MANAGUA " , 

"NIGER", "NIAMEY" 

21260 DATA "NIGERIA" , "LAGOS" , "NORWAY" , "OSLO" , "OMAN" , "MUSCAT" 

, "PAKISTAN", "I SL AMB AD" 

21270 DATA "PANAMA" , "PANAMA" , "PARAGUAY" , "ASUNCION" , "PERU" , "L 

IMA" 

21280 DATA "PHILIPPINES" , "QUEZON CITY" , "POLAND", "WARSAW", "PO 

RTUGAL" , "LISBON" 

2 1 290 DATA " RHODES I A " , " SAL I SBURY " , " ROMAN I A " , " BUCHAREST " , " SAU 

DI ARABIA", "RIYADH" 

21300 DATA "SENEGAL" , "DAKAR" , "SIERRA LEONE" , "FREETOWN" , "SOMA 

L I A" , "MOGADISHU" 

21310 DATA "REPUBLIC OF SOUTH AFRICA" , "PRETORIA AND CAPE TOW 

N" , "SPAIN" , "MADRID" 

2 1 320 DATA " SR I LANKA " , " COLOMBO " , " SUDAN " , " KHARTOUM " , " SWEDEN " 

, "STOCKHOLM" 

21330 DATA "SWITZERLAND" , "BERN" , "SYRIA" , "DAMASCUS" , "TANZANIA 

","DAR ES SALAAM" 

2 1 340 DATA " THA I LAND " , " BANGKOK " , " TOGO " , " LOME " , " TONGA " , " NUKUA 

LOFA" 

21350 DATA "TRINIDAD : TOBAGO" , "PORT OF SPAIN", "TUNISIA", "TU 

N IS", "TURKEY", "ANKARA" 

21360 DATA "UGANDA" , "KAMPALA" , "RUSSIA (USSR) " , "MOSCOW" , "UNIT 

ED ARAB EMIRATES", "ABU DHABI" 

2 1 370 DATA " UN I TED K I NGDOM " , " LONDON " , " URUGUAY " , " MONTE V I DEO " , 

"VENEZUELA", "CARACAS" 

21380 DATA "VIETNAM" , "HANOI " , "YUGOSLAVIA" , "BELGRADE" , "ZAIRE" 

, "KINSHASA" , "ZAMBIA" , "LUSAKA" 



15 



16 



TABLE OF VARIABLES 

BL - BOTTOM OF LIST MARKER 
1080 4490 4500 4520 4530 4540 
4540 4550 10010 

C - POSITION OF CORRECT ANSWER 
4030 4080 4090 4330 

CA«(«) - CAPITALS LIST 

1020 1050 4160 4170 4180 4190 

4300 4380 4410 4480 4490 4490 

4500 

DE - DELAY 
2050 4560 19010 

G - NUMBER OF GUESSES 

1070 4580 4580 4670 4670 4680 

I - COUNTER 

1040 1050 1050 1060 4050 4060 

4070 18010 18030 19010 19020 

L - LINES OF SCROLLING 
2010 2310 2330 180 lO 

N - NUMBER CORRECT 

1090 4440 4440 4460 4680 

N(») - ANSWER ARRAY 

1020 4060 4080 4080 4090 4110 

4110 4110 4110 4110 4110 4120 

4120 4120 4120 4120 4120 4160 

4170 4 ISO 4190 4250 4260 4270 

4280 

NA«(*) - NATIONS LIST 

1020 1050 4210 4250 4260 4270 

4280 4380 4410 4510 4520 4520 

4530 

R - RANDOM NUMBER 

4090 4210 4300 4380 4380 4410 

4410 4480 4490 4510 4520 lOOlO 

S* - TRANSFER VARIABLE 
4480 4500 4510 4530 

SA - STUDENT ANSWER 
43 lO 4320 4320 4330 

SA« - STUDENT ANSWER 

4620 4630 4630 4710 4730 4730 

SE - PRESENTATION MODE 
2290 2300 2300 4130 4360 



TL - NUMBER OF PAIRS IN LIST 
lOlO 1020 1020 1040 1080 4060 

END OF VAR. LIST 



SAMPLE RUN 

THIS IS A PROGRAM WHICH WILL TEST YOUR 
KNOWLEDGE OF NATIONS AND THEIR 
CAPITALS. 

YOU WILL BE GIVEN MULTIPLE CHOICE 
QUESTIONS WHICH HAVE FOUR ANSWERS EACH. 

YOU SHOULD ANSWER WITH A '1,' '2,' 
'3,' OR '4.' 

TO STOP AT ANY TIME, TYPE IN A 'O' 
FOR AN ANSWER. 

YOU HAVE A CHOICE: 

1. BE GIVEN THE NATION 

AND ANSWER WITH THE CAPITAL 

2. BE GIVEN THE CAPITAL 

AND ANSWER WITH THE NATION 

PICK '1' OR '2' 
?1 



1 . RANGOON 
2. PANAMA 
3. ROME 
4. TEHRAN 



THE CAPITAL OF PANAMA IS?2 
RIGHT! YOU HAVE 1 CORRECT! 



I.VIENNA 

2. TEGUCIGALPA 

3. PANAMA 

4. DACCA 



THE CAPITAL OF AUSTRIA IS?1 
RIGHT! YOU HAVE 2 CORRECT! 



1 . DACCA 

2. FREETOWN 17 



3. WARSAW 
4. HANOI 



THE CAPITAL OF SIERRA LEONE IS?2 
RIGHT! YOU HAVE 3 CORRECT! 



1 . PRAGUE 
2. AMSTERDAM 
3. TEHRAN 
4. OSLO 



THE CAPITAL OF IRAN IS?3 
RIGHT! YOU HAVE 4 CORRECT! 



I.DUBLIN 
2. MEXICO CITY 
3. MOGADISHU 
4. SEOUL 



THE CAPITAL OF IRELAND IS?3 

WRONG! 

THE CAPITAL OF IRELAND IS DUBLIN. 



1 . KAMPALA 

2. BRIDGETOWN 

3. BERN 

4. ASUNCION 



THE CAPITAL OF UGANDA IS?0 

DO YOU WANT TO ST0P7YES 

YOU GOT 4 RIGHT IN 5 GUESSES 

WOULD YOU LIKE TO TRY AGAIN7N0 



18 




Guess the 
Numbers 



PROGRAM DESCRIPTION 

The skills of addition, subtraction, multiplication, and divi- 
sion are tested in this program. The computer picks two numbers 
and adds, subtracts, multiplies, and divides them. The answers, 
which are a result of the two numbers being added, subtracted, 
multiplied, or divided, are displayed. You are to try to guess which 
two numbers were used to obtain the list of answers shown to you. 

PROGRAM NOTES 

1. For a less complicated game, always present the four "results" 
in the same order. 

2. Line 10080 eliminates number pairs that don't divide evenly. 
What happens if you remove it? 



PROGRAM LISTING: BASIC 

lOO REM GUESS THE NUMBERS BY GARY ORWIG 

lOOO REM INITIALIZATION 

iOlO DIM P(4) 

1020 DIM NA«(30) 

1030 DIM SS(20) 

1040 REM USE FULL SCREEN 

lOSO POKE 82, O 

1060 PRINT 

2000 REM INTRODUCTION 

2010 FOR 1=1 TO 130 

2020 PRINT INT (RND<0) ♦10000);" "; 



19 



20 



2030 

2040 

2050 

2060 

2070 

2080 

2090 

2100 

2110 

2120 

2130 

2140 

2150 

2160 

2170 

2180 

2190 

2200 

2210 

2220 

2230 

2240 

2250 

2260 

2270 

2280 

2290 

2300 

2310 

2320 

2330 

2340 

2350 

2360 

2370 

2380 

2390 

2400 

4000 

4010 

4020 

4030 

4040 

4050 

4060 

4070 

4080 

4090 

4100 

4110 

4120 

41 30 

4140 

4150 

41AO 

4170 

4180 

4190 



eUESS THE NUMBERS" 



NEXT I 

FOR 1=1 TO 2000 

NEXT I 

FOR 1=1 TO 23 

PRINT 

NEXT I 

PRINT •• 

FOR 1=1 TO 10 

PRINT 

NEXT I 

PRINT "WHAT IS YOUR NAME?" 

INPUT NA« 

PRINT 

PRINT "IT'S NICE TO MEET YOU, ";NA«; 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

INPUT MX 

PRINT 

PRINT 

PRINT 

FOR 1=1 

NEXT I 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

REM MAIN PROGRAM 

i=o 

GOSUB lOOOO 

60SUB 10500 

P < 1 ) =E 

GOSUB 10500 

IF E=P(1) THEN 4050 

P<2>=E 

GOSUB 10500 

IF E=P<1) OR E=P<2) THEN 4080 

P(3)=E 

P<4)=10-(P(1>+P(2)+P<3) ) 

1=1+1 

IF 1=5 THEN 4230 

ON P(I) GOTO 4150,4170,4190,4210 

PRINT a+b;" "; 

GOTO 4120 

PRINT A-B;" "; 

GOTO 4120 

PRINT a»b;" "; 



I WILL THINK OF TWO NUMBERS AND" 
ADD, SUBTRACT, MULTIPLY, AND" 
DIVIDE THEM. I WILL THEN MIX UP" 
THE ANSWERS AND SHOW THEM TO YOU." 

IT WILL BE YOUR JOB TO FIGURE OUT" 
THE ORIGINAL TWO NUMBERS!" 



"WHAT IS THE LARGEST NUMBER YOU" 
"WANT TO WORK WITH, ";NA« 



OK, I WILL TRY NOT TO GIVE YOU" 
PROBLEMS THAT HAVE ANSWERS OVER ";MX; 
TO 2000 



"HERE WE GO!" 



4200 GOTO 4120 

4210 PRINT A/B;" "J 

4220 GOTO 4120 

4230 PRINT 

4240 PRINT "WHAT DO YOU THINK THE TWO" 

42SO PRINT "NUMBERS ARE? TYPE THEM IN" 

4260 PRINT "LIKE THIS: 6,9" 

4270 INPUT S1,S2 

4280 TR=TR+1 

4290 60SUB llOOO 

4300 IF HT=1 THEN 4340 

4310 GOSUB 14000 

4320 1=0 

4330 GOTO 4120 

4340 HT=0 

4350 GOSUB 12000 

lOOOO REM RANDOMIZATION 

lOOlO A=INT(RND(0)*MX)+1 

10020 B=INT<RND(0>»MX)+1 

10030 IF A<B THEN 10050 

10040 GOTO 10080 

10050 D=B 

10060 B=A 

10070 A=D 

10080 IF A/B>INT(A/B} THEN lOOlO 

10090 RETURN 

lOSOO REM PRESENTATION ORDER 

lOSlO E=INT(RND(0)*4)-t-l 

10520 RETLff^N 

llOOO REM JUDGE ANSWERS 

IIOIO IF S1=A THEN GOTO 11040 

11020 IF S1=B THEN 11060 

11030 GOTO moo 

11040 IF S2=B THEN 11080 

iioso GOTO moo 

11060 IF S2=A THEN GOTO 11080 

11070 GOTO moo 

11080 HT=1 

11090 RETURN 

moo HT=0 

llllO i=o 

11120 RETURN 

12000 REM REWARD 

12010 FOR 1=1 TO 50 

12020 PRINT " YOU FOUND THEM!"; 

12030 NEXT I 

12040 GOTO 15000 

14000 REM WRONG ANSWER 

14010 PRINT 

14020 PRINT "SC»»RY! TRY AGAIN!" 

14030 PRINT 

14040 RETURN 

15000 PRINT 

15010 PRINT 

15020 PRINT 

15030 PRINT "IT TOOK ";TRj" TRIES!" 

15040 PRINT 

15050 PRINT 21 



15060 PRINT 

15070 PRINT "DO YOU WANT ANOTHER PROBLEM?" 

1S080 PRINT "(YES OR NO)" 

1S090 INPUT S% 

15100 IF S»="YES" THEN 15130 

151 lO PRINT "BYE FOR NOW!" 

15120 END 

1S130 TR=0 

1S140 HT=0 

1S150 I=0 

1S160 GOTO 4000 



TABLE OF VARIABLES 

P( 

1010 4040 4060 4070 4090 4090 
4100 4110 4110 4110 4110 4140 



NA« 

1020 2140 2160 2290 

S% 

1030 15090 15100 

I 

2010 2030 2040 2050 2060 2080 
2100 2120 2340 2350 4010 4120 
4120 4130 4140 4320 llllO 12010 
12030 15150 

MX 

2300 2330 lOOlO 10020 

E 

4040 4060 4070 4090 4090 4100 
10510 

A 

4150 4170 4190 4210 lOOlO 10030 
10060 10070 10080 10080 IIOIO 11060 



B 

4150 4170 4190 4210 10020 10030 
10050 10060 10080 10080 11020 11040 



SI 

4270 llOlO 11020 

S2 

4270 11040 11060 

TR 

4280 4280 15030 15130 
22 



HT 



4300 4340 11080 11100 15140 



10050 10070 



PROGRAM LISTING: MICROSOFT BASIC 



THE 
RND 



lOO REM GUESS 

SOO REM RESEED 

510 RANDOMIZE 

lOOO REM INITIALIZATION 

lOlO DIM P<4> 

1020 REM USE FULL SCREEN 

1030 POKE 82, O 

2000 REM INTRODUCTION 

2010 FOR I = 1 TO 200 

2020 PRINT RND (9999);" 

2030 NEXT I 

FOR I = 

NEXT I 

FOR I = 

PRINT 

NEXT I 

PRINT " 

FOR I = 

PRINT 

NEXT I 

PRINT "WHAT 
NA« 



NUMBERS BY GARY ORWIG 



2040 

2050 

2060 

2070 

2080 

2090 

2100 

2110 

2120 

2130 

2140 

2150 

21^>0 

2170 

2180 

2190 

2200 

2210 

2220 

2230 

2240 

2250 

2260 

2270 

2280 

2290 

2300 

2310 

2320 

2330 

2340 

2350 

2360 

2370 

2380 

2390 

2400 



1 TO 3000 



1 TO 25 



GUESS THE NUMBERS'* 



1 TO 10 



IS YOUR NAME?" 



IWnJT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

INPUT 

PRINT 

PRINT 

PRINT 

FOR I 

NEXT I 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 



"IT'S NICE TO MEET YOU, ";NA«; 



"I WILL THINK OF TWO NUMBERS WJD" 
"ADD, SUBTRACT, MULTIPLY, AND" 
"DIVIDE THEM. I WILL THEN MIX UP" 
"THE ANSWERS AND SHOW THEM TO YOU. 



■IT WILL BE YOUR JOB TO FIGURE 
■THE ORIGINAL TWO NUMBERS!" 



OUT' 



"WHAT IS THE LARGEST NUMBER YOU" 

"WANT TO WORK WITH, ";NA* 

MX 

"OK, I WILL TRY NOT TO GIVE YOU" 
"PROBLEMS THAT HAVE ANSWERS OVER ";MX; 
= 1 TO 2000 



"HERE WE GO! 



23 



THEN 40S0 



OR E = P(2) THEN 4080 



4000 REM MAIN PROGRAM 

4010 I = O 

4020 60SUB iOOOO 

4030 GOSUB lOSOO 

4040 P(l) = E 

40S0 GOSUB lOSOO 

4060 IF E = P(l) 

4070 P(2) = E 

4080 GOSUB 10500 

4090 IF E = P(l) 

4100 P<3) = E 

4110 P<4) = lO - (P(l) + P<2) + P<3)) 

4120 1=1+1 

4130 IF I = 3 ThEN 4230 

4140 ON P(I) GOTO 4150,4170,4190,4210 

4150 PRINT A + b;" "; 

4160 GOTO 4120 

4170 PRINT A - b;" "; 

4180 GOTO 4120 

4190 PRINT A » b;" "; 

4200 GOTO 4120 

4210 PRINT A / B;" "; 

4220 GOTO 4120 

4230 PRINT 

4240 PRINT "WHAT DO YOU THINK THE TWO" 

4250 PRINT "NUMBERS ARE? TYPE THEM IN" 

4260 PRINT "LIKE THIS: 6,7" 

4270 INPUT S1,S2 

4280 TR = TR + 1 

4290 GOSUB llOOO 

4300 IF HT = 1 THEN 4340 

4310 GOSUB 14000 

4320 I = O 

4330 GOTO 4120 

4340 HT = O 

4350 GOSUB 12000 

IOOOO REM RANDOM I ZAT I cm 

lOOlO A = RND(MX> 

10020 B = RND(MX) 

10030 IF A < B THEN 10050 



24 



B = 

IF A 

10040 GOTO 10080 
10050 D = B 
10060 B = A 
10070 A = D 

10080 IF A / B > INT <A / B) THEN 10010 
10090 RETURN 

10500 REM PRESENTATION ORDER 
lOSlO E = RND(4) 
10520 RETURN 
llOOO REM JUDGE ANSWERS 

IF SI = A GOTO 11040 

IF SI = B THEN 11060 

11030 GOTO moo 

11040 IF S2 = B THEN 11080 

11050 GOTO moo 

IF S2 = A GOTO 11080 

moo 

1 



IIOIO 
11020 



11060 



11070 GOTO 
11080 HT = 



11090 
11100 
11110 
11120 
12000 
12010 
12020 
12030 
12040 
14000 
14010 
14020 
14030 
14040 
15000 
15010 
15020 
15030 
1S040 
15050 
15060 
15070 
15080 
15090 
15100 
15110 
15120 
15130 
15140 
15150 
15160 



YOU FOUND THEM!"; 



RETURN 

HT = 

1=0 

RETURN 

REM REWARD 

FOR I = 1 TO 50 

PRINT " 

NEXT I 

GOTO 15000 

REM WRONG ANSWER 

PRINT 

PRINT "SORRY! TRY AGAIN!" 

PRINT 

RETURN 

PRINT 

PRINT 

PRINT 

PRINT "IT TOOK ";TR;" TRIES!" 

PRINT 

PRINT 

PRINT 

PRINT "DO YOU WANT ANOTHER PROBLEM?' 

PRINT " (YES OR NO) 

INPUT S« 

IF S« = "YES" THEN 15130 

PRINT "BYE FOR NOW!" 

END 

TR = O 

HT = O 

1=0 

GOTO 4000 



TABLE OF VARIABLES 

A - ONE NUMBER 

4150 4170 4190 4210 lOOlO 10030 

10060 10070 10080 10080 IIOIO 

11060 

B - THE OTHER NUMBER 

4150 4170 4190 4210 10020 10030 

10050 10060 10080 10080 11020 

11040 

D - TRANSFER VARIABLE 
10050 10070 

E - PRESENTATION ORDER 

4040 4060 4070 4090 4090 4100 

10510 

HT - HIT 

4300 4340 11080 lllOO 15140 



I - COUNTER 

2010 2030 2040 2050 2060 2080 

2100 2120 2340 2350 4010 4120 



25 



4120 4130 4140 4320 11110 12010 
12030 151S0 

MX - MAXIMUM SIZE 
2300 2330 lOOlO 10020 

NA« - NAME 
2140 2160 2290 

P<») - PRESENTATION ORDER 
1010 4040 4060 4070 4090 4090 
4100 4110 4110 4110 4110 4140 

S« - STUDENT ANSWER 
15090 15100 

51 - STUDENT ANSWER 
4270 11010 11020 

52 - STUDENT ANSh^R 
4270 11040 11060 

TR - NUMBER OF TRIES 
4280 4280 15030 15130 

END OF VAR. LIST 



SAMPLE RUN 

WHAT IS YOUR NAME? 
7JOYCE 

IT'S NICE TO MEET YOU, JOYCE. 



I WILL THINK OF TWO NUMBERS AND 
ADD, SUBTRACT, MULTIPLY, AND 
DIVIDE THEM. I WILL THEN MIX UP 
THE ANSWERS AND SHOW THEM TO YOU. 

IT WILL BE YOUR JOB TO FIGURE OUT 
THE ORIGINAL TWO NUMBERS! 



WHAT IS THE LARGEST NUMBER YOU 

WANT TO WORK WITH, JOYCE 

?20 

OK, I WILL TRY NOT TO GIVE YOU 
PROBLEMS THAT HAVE ANSWERS OVER 20. 



HERE WE GO! 



2 24 8 128 
26 WHAT DO YOU THINK THE TWO 



NUMBERS ARE? TYPE THEM IN 

LIKE THIS: 6,7 

?12,2 

SORRY! TRY AGAIN! 

2 24 8 128 

WHAT DO YOU THINK THE TWO 

NUMBERS ARE? TYPE THEM IN 

LIKE THIS: 6,7 

?8, 16 

YOU FOUND THEM! YOU FOUND THEM! YCMJ FO 

UND THEM! YOU FOUND THEM! YOU FOUND THEM! 

YOU FOUND THEM! YOU FCXJND THEM! YOU FOUND T 

HEM! YOU FOUND THEM! YOU FOUND THEM! 



IT TOOK 2 TRIES! 



DO YOU WANT ANOTHER PROBLEM? 

(YES OR NO) 

?N0 

BYE FOR NOW! 



27 




Guess the Word 



PROGRAM DESCRIPTION 

Spelling skills and word recognition are practiced in this 
program. The computer selects a word from an instructor-made 
data file and then presents an appropriate number of blanks to be 
filled by letters. You try to guess the letters that make up the 
selected word. At any point, you may enter an "!". This will allow 
you to guess the whole word and reduce the number of times it 
takes you to guess the word. The computer also gives you one hint 
when you enter a "?". 

PROGRAM NOTES 

If you are a real graphics whiz, develop a subroutine that will 
gradually "hang" a man and slip it into the 14000 section of the 
program. If you prefer less violence, draw a robot that gradually 
walks off a cliff. 

Of course, you can enter your own words in the data section 
(lines 21000 . . . ). Just enter each word followed by its hint. Set TL 
equal to the number of words. 



PROGRAM LISTING: BASIC 



28 



lOO REM GUESS THE WORD BY GARY ORWIG 

lOOO REM INITIALIZATION - SET 'TL' TO TOTAL NUMBER OF WORDS 

IN YOUR DATA SET. 

lOlO TL-20 

1020 BL=TL 

1030 TL=TL+1 



1040 DIM A«(20>,B«(20),FL«(TL«20),HN«(TL«20>,C«(20>,GS«(40), 

NA« (30) , S* (20) , WD« (20) , FLI« (20) , HNI« (20) 

1050 FOR 1=1 TO TL 

1060 FL* (1*20-19) =•• 

1070 NEXT I 

1080 HN*=FL* 

1090 A*=" 

1 1 00 B«»A« : c«=A« : s«=A« : wd«=a« : GS« ( i ) »A« : 6S« (21) »A« : fl I «»A« : H 

NI«=A« 
1110 LN=1 

1120 FOR 1=1 TO TL 
1130 READ FLI«,HNI$ 
1140 FL*(LN)=FLI* 
1150 HN«(LN)=HNI« 
1160 LN=LN+20 
1170 NEXT I 
1180 GS*="" 

1190 REM USE FULL SCREEN 
1200 PCM<E 82,0 
1210 PRINT 
1220 TL=TL-1 
2000 REM INTRODUCTION 
2010 FOR 1=1 TO 12 
2020 PRINT 
2030 NEXT I 

2040 PRINT " GUESS THE WORD" 
2050 FOR 1=1 TO 12 
2060 PRINT 
2070 NEXT I 
2080 FOR 1=1 TO ISO 
2090 NEXT I 

2100 PRINT "WHAT IS YCMJR NAME"; 
INPUT NA« 

"I AM HAPPY TO MEET YOU, ";NA»;"." 



21 lO 

2120 PRINT 



"I AM GOING TO THINK OF A WORD," 
"AND IT WILL BE YOUR JOB TO" 
"GUESS IT. YOU DO THIS BY" 
"GUESSING ONE LETTER AT A TIME." 

"AT ANY TIME YOU CAN TYPE IN" 
"AN ' ! ' AND THEN GUESS THE WHOLE" 
"WORD. IF YOU NEED A HINT, TYPE" 
"IN A •?' AND I WILL TRY TO HELP YOU. 



2130 PRINT 

2140 PRINT 

2150 PRINT 

2160 PRINT 

2170 PRINT 

2180 PRINT 

2190 PRINT 

22<X) PRINT 

2210 PRINT 

2220 PRINT 

2230 PRINT 

2240 PRINT 

2250 PRINT 

2260 PRINT 

2270 PRINT "HERE WE GO!" 

2280 PRINT 

2290 PRINT 

4000 REM MAIN PROGRAM 

4010 GOSUB 10<X>0 

4020 C*=FL» ( R»20- 1 9 , R»20 ) 

4030 L=0 

4040 L=L+1 

4050 IF C»(L,L)=" " THEN 4070 

4060 GOTO 4040 



29 



'GUESS A LETTER (OR '?' OR '!') 



4070 L=L-1 

4080 C*=C«(1,L) 

4090 FOR 1=1 TO L 

4100 A«(I)=C«(I,I) 

41 lO B« < I )=••♦•• 

4120 NEXT I 

4130 GOSUB 18000 

4140 PRINT 

4150 PRINT 

4160 PRINT 

4170 PRINT 

4180 HT=0 

4190 INPUT S% 

4200 IF LEN(S«)=1 THEN 4230 

4210 PRINT "TYPE IN ONLY ONE LETTER!" 

4220 GOTO 4190 

4230 GOSUB llOOO 

4240 IF HT=2 THEN 4170 

4250 TR=TR+1 

42AO IF HT=1 THEN 4300 

4270 GOSUB 14000 

4280 GOSUB 18000 

4290 GOTO 4140 

4300 HT=0 

4310 GOSUB 12000 

4320 GOSUB 18000 

4330 GOSUB ISOOO 

4340 GOTO 4140 

lOOOO REM RANDOMIZATION 

lOOlO R=INT(RND(0)*BL)-M 

10020 RETURN 

llOOO REM JUDGE ANSWER 

IIOIO IF S«="?" THEN 16000 

11020 IF S«="!" THEN 17000 

11030 FOR 1=1 TO L 

11040 IF A«(I,I)=S« THEN 11070 

llOSO NEXT I 

11060 RETURN 

11070 HT=1 

11080 B«<I,I)=S« 

11090 NEXT I 

11100 RETURN 

12000 REM REWARD 

12010 PRINT "GOOD GUESS, ";NA«|"!" 

12020 RETURN 

14000 REM WRONG GUESS 

14010 PRINT "THERE ARE NO "JS*;"'S IN" 

14020 PRINT "THE WORD, "|NA«;"." 

14030 RETIA^N 

ISOOO REM SCORE KEEPING 

15010 IF WD«=C« THEN 19030 

15020 RETURN 

15030 PRINT "YOU FOUND THE WORD IN "jTRl 

1S040 GOTO 20000 

16000 REM HINT 

16010 PRINT 



TRIES! 



30 



16020 PRINT HN«(R»20-19,R»20> 

16030 HN«(R»20-19,R*20)=''N0 MORE HINTS!" 

16040 HT=2 

16050 RETURN 

17000 REM SEE IF STUDENT KNOWS WORD 

17010 PRINT "WHAT DO YOU THINK THE WORD IS' 

17020 INPUT S« 

17030 IF S*=C* THEN 15030 

17040 PRINT "SORRY — KEEP TRYING" 

17050 HT=2 

17060 GOTO 14000 

18000 REM PRINT ROUTINE 

18010 WD»=" 

18020 WD«="" 

18030 FOR 1=1 TO L 

18040 WD«(LEN(WD«)-M)»B4»(I,I) 

18050 NEXT I 

18060 6S«(LEN(GS«)-«-l)sS«(l,l) 

18070 PRINT 

18080 PRINT WD« 

18090 PRINT 

18100 PRINT "LETTERS GUESSED: ";8S* 

18110 RETURN 

20000 REM CLOSING 

20010 PRINT "WOULD YOU LIKE ANOTHER WCMRD 

20020 INPUT S* 

20030 IF S*="NO" THEN 20200 

20040 TR=0 

20050 HT=0 

20060 WD*=" 

20070 GS«==WD« 

20080 S«=WD» 

20090 WD«=" " 

20100 GS«=" " 

20110 S*=" " 

20120 REM DELETE CORRECT WORD FROM LIST 

20 1 30 FL* ( R»20- 1 9 , R»20 ) =FL» < BL«20- 1 9 , BL»20 ) 

20 1 40 HN* ( R*20- 1 9 , R*20 ) =HN» < BL»20- 1 9 , BL*20 > 

20150 BL=BL-1 

20160 IF BL=0 THEN GOTO 20180 

20170 GOTO 4010 

20180 PRINT "SORRY! YOU HAVE USED ALL THE" 



<YES OR NO) 



20190 PRINT "WORDS I KNOW, ";NA*;"!" 

20200 END 

21000 REM DATA 

21010 DATA EVENING, DARK, COMPUTER, DIGITAL 

2 1 020 DATA RHYTHM , MUS I C , QU I Z , TEST , LYNX , CAT , KNOCK , TAP , UGLY , MO 

NSTER 

21030 DATA VULTURE, BIRD, YAWN, MOUTH, ERUPT, VOLCANO, FUDGE, CANDY 

, HUSK, CORN 

2 1 040 DATA PLUTO , PLANET , GYPSY , TRAVELER , HOLY , CHURCH , HUGE , B I G , 

INJURY, HURT 

210S0 DATA MUMPS, ILLNESS, ZERO, HONE, 2 INC, METAL, OXYGEN, BREATHE 

, DUTY, JOB 

21060 DATA EOF, EOF 



31 



32 



TABLE OF VARIABLES 

TL 

1010 1020 1030 1030 1040 1040 
1050 1120 1220 1220 

BL 

1020 10010 20130 20130 20140 20140 
20150 20150 20160 

A« 

1040 1090 llOO 1100 llOO 1100 
1100 1100 1100 1100 4100 11040 



1040 llOO 4110 11080 18040 

FL« 

1040 1060 1080 1140 4020 20130 
20130 

UN* 

1040 1080 1150 16020 16030 20140 
20140 

C* 

1040 llOO 4020 4050 4080 4080 
4100 ISOIO 17030 

6S« 

1040 llOO llOO 1180 18060 18060 
18100 20070 20100 

NA« 

1040 21 lO 2120 12010 14020 20190 



1040 llOO 4190 4200 IIOIO 11020 
11040 11080 14010 17020 17030 18060 
20020 20030 20080 20110 

1040 llOO 15010 18010 18020 18040 
18040 18080 2OO60 20070 20080 20090 



FLI* 

1040 1100 1130 1140 

HNI« 

1040 llOO 1130 IISO 

I 

1050 1060 1070 1120 1170 2010 
2030 2050 2070 2080 2090 4090 



4100 4100 4100 41 lO 4120 11030 
11040 11040 11050 11080 11080 11090 
18030 18040 18040 180S0 



LN 



1110 1140 1150 1160 1160 



4020 4020 lOOlO 16020 16020 16030 
16030 20130 20130 20140 20140 



4030 4040 4040 4050 4050 4070 
4070 40a0 4090 11030 18030 



HT 



4180 4240 4260 4300 11070 16040 
17050 20050 



TR 



4250 4250 15030 20040 



PROGRAM LISTING: MICROSOFT BASIC 



lOO REM 6UESS THE WORD BY GARY 0RWI6 

500 REM RESEED RND 

SIO RANDOMIZE 

lOOO REM INITIALIZATION - SET 'TL' TO TOTAL NUMBER OF WORD 

S IN YOUR DATA SET. 

lOlO TL = 20 

1020 BL = TL 

1030 DIM A1i(20),B*(20),FL»<TL),HN*(TL) 

1040 FOR I = 1 TO TL 

lOSO READ FL«(I),HN«(I) 

1060 NEXT I 

1070 REM USE FULL SCREEN 

1080 POKE 82, O 

2000 REM INTRODUCTION 

2010 FOR I = 1 TO 12 

2020 PRINT 

2030 NEXT I 

2040 PRINT •• 

2050 FOR I = 

2060 PRINT 

2070 NEXT I 

2080 FOR I = 

2090 NEXT I 

2100 PRINT "WHAT IS YOUR NMIE"; 

21 lO INPUT NA« 

2120 PRINT "I AM HAPPY TO r«ET YOU, 

2130 PRINT 

2140 PRINT 

2150 PRINT 

2160 PRINT 

2170 PRINT 

2180 PRINT 



1 TO 



GUESS T^£ WORD' 
12 



1 TO lOOO 



';na»; 



'■I AM GOING TO THINK OF A WORD, 
"AND IT WILL BE YOUR JOB TO" 
"GUESS IT. YOU DO THIS BY" 



33 



34 



2190 PRINT "GUESSING ONE LETTER AT A TIME." 

2200 PRINT 

2210 PRINT "AT ANY TIME YOU CAN TYPE IN" 

2220 PRINT "AN ' ! ' AND THEN GUESS THE WHOLE" 

2230 PRINT "WORD. IF YOU NEED A HINT, TYPE" 

2240 PRINT "IN A '?' AND I WILL TRY TO HELP YOU. 

2250 PRINT 

2260 PRINT 

2270 PRINT "HERE WE GO!" 

2280 PRINT 

2290 PRINT 

4000 REM MAIN PROGRAM 

4010 60SUB 10000 

4020 C% = FL«<R) 

4030 L = LEN (C*) 

4040 FOR I = 1 TO L 

4050 A«(I) « MID« (C«, 1,1) 

4060 B«(I) = "*" 

4070 NEXT I 

4080 60SUB 18000 

4090 PRINT 

4100 PRINT 

4110 PRINT 

4120 PRINT "GUESS A LETTER (OR "?' OR '!')." 

4130 HT = O 

4140 INPUT S» 

4150 IF LEN (S«) = 1 THEN 4180 

41AO PRINT "TYPE IN ONLY ONE LETTER!" 

4170 GOTO 4140 

4180 GOSUB llOOO 

4190 IF HT = 2 THEN 4120 

4200 TR = TR + 1 

4210 IF HT = 1 THEN 4250 

4220 GOSUB 14000 

4230 GOSUB 18000 

4240 GOTO 4090 

4250 HT = O 

4260 GOSUB 12000 

4270 GOSUB 18000 

4280 GOSUB 15000 

4290 GOTO 4090 

lOOOO REM RANDOMIZATION 

lOOlO R - RND(BL) 

10020 RETURN 

llOOO REM JUDGE ANSWER 

11010 IF S* = "?" THEN 16000 

11020 IF S* = "!" THEN 17000 

11030 FOR I = 1 TO L 

11040 IF A«(I) s S« THEN B«(I) « s* 

11050 IF A«<I) = S« THEN HT = 1 

11060 NEXT I 

11070 RETURN 

12000 REM REWARD 

12010 PRINT "GOOD GUESS, ";NA*J"!" 

12020 RETURN 

14000 REM WRONG GUESS 

14010 PRINT "THERE ARE NO ";S*;"'S IN" 



■•;TR; 



14020 PRINT "THE WORD, •■;NA«;".» 

14030 RETURN 

15000 REM SCORE KEEPING 

15010 IF WD« = C* THEN 15030 

15020 RETURN 

15030 PRINT "YOU FOUND THE WORD IN 

15040 GOTO 20000 

16000 REM HINT 

16010 PRINT 

16020 PRINT HN«(R> 

16030 HN«(R) = "NO MORE HINTS!" 

16040 HT = 2 

160S0 RETURN 

17000 REM SEE IF STUDENT KNOWS WORD 

17010 PRINT "WHAT DO YOU THINK THE WORD IS"; 

17020 INPUT S% 

17030 IF S« = C% THEN 15030 

17040 PRINT "SORRY — KEEP TRYING" 

17050 HT = 2 

17060 GOTO 14000 

18000 REM PRINT ROUTINE 

18010 WD* = "" 

18020 FOR I = 1 TO L 

18030 WD« s WD« + B«(I) 

18040 NEXT I 

18050 GS« - 6S« ••- SS 

18060 PRINT 

18070 PRINT WD« 

18080 PRINT 

18090 PRINT "LETTERS GUESSED: ";GS* 

18100 RETURN 

20000 REM CLOSING 

20010 PRINT "WOULD YOU LIKE ANOTHER WORD 

20020 INPUT S* 

IF S% = "NO" THEN 20170 

O 

O 



TRIES!" 



(YES OR NO)"; 



20030 

20040 TR = 

20050 HT = 

20060 WD« = "" 

20070 GS* = "" 

20080 S» = "" 

20090 REM DELETE CORRECT WORD FROM LIST 

20100 FL«<R) = FL*(BL) 

20110 HN«(R) = t^«<BL) 

20120 BL = BL - 1 

20130 IF BL = O THEN «DTO 20150 

20140 GOTO 4010 

20150 PRINT "SORRY! YOU HAVE USED ALL THE" 

20160 PRINT "WORDS I KNOW, ";NA*;"!" 

20170 END 

21000 REM DATA 

21010 DATA EVENING, DARK, COrff'UTER, DIGITAL 

21020 DATA RHYT Wl, MUSIC, QUIZ, TEST, LYNX, CAT, KNOCa<,TAP,UGLY,M 

ONSTER 

2 1 030 DATA VULTURE , B I RD , YAWN , MCHJTH , ERUPT , VOLCANO , FUDGE , CANDY 

,KHJSK,CORN 

2 1 040 DATA PLUTO , PLANET , GYPSY , TRAVELER , HOLY , CHURCH , HUGE , B I G 

, INJURY, HURT 



35 



36 



21050 DATA MUMPS, ILLNESS, ZERO, NONE, ZINC, METAL, OXYQEN, BREATH 
E, DUTY, JOB 



TABLE OF VARIABLES 

A«(*) - WORD BROKEN INTO LETTERS 
1030 4050 11040 

B«(*) - ARRAY HOLDING *'S OR GUESSED LETTERS 
1030 4060 11080 18030 

BL - BOTTOM OF LIST 

1020 lOOlO 20100 20110 20120 

20120 20130 

C* - CORRECT WORD 

4020 4030 4050 15010 17030 

FL«(») - WORD LIST 

1030 1050 4020 20100 20100 

GS« - LETTERS GUESSED 
18050 18050 18090 20070 

HN«(«) - HINT LIST 

1030 1050 16020 16030 20110 

20110 

HT - HIT 

4130 4190 4210 4250 11070 16040 

17050 20050 

I - COUNTER 

1040 1050 1050 1060 2010 2030 

2050 2070 2080 2090 4040 4050 

4050 4060 4070 11030 11040 

11050 11080 11090 18020 18030 

18040 

L - LENGTH OF WORD 
4030 4040 11030 18020 

NA* - NAME 

2110 2120 12010 14020 20160 

R - RANDCM1 NUMBER 

4020 lOOlO 16020 16030 20100 

20110 

S« - STUDENT ANSWER 
4140 4150 11010 11020 11040 
11080 14010 17020 17030 18050 
20020 20030 20080 

TL - NIAIBER OF WORDS IN LIST 
lOlO 1020 1030 1030 1040 



TR - NUMBER OF TRIES 
4200 4200 15030 20040 

WD« - ASSEMBLED WORD WITH MISSING LETTERS 

15010 18010 18030 18030 18070 

20060 

END OF VAR. LIST 



SAMPLE RUN 

WHAT IS YOUR NAME? JENNIFER 

I AM HAPPY TO MEET YOU, JENNIFER. 



I AM GOING TO THINK OF A WORD, 
AND IT WILL BE YOUR JOB TO 
GUESS IT. YOU DO THIS BY 
GUESSING ONE LETTER AT A TIME. 

AT ANY TIME YOU CAN TYPE IN 

AN ' ! ' AND THEN GUESS THE WHOLE 

WORD. IF YOU NEED A HINT, TYPE 

IN A '?' AND I WILL TRY TO HELP YOU. 



HERE WE GO! 

****** 

LETTERS GUESSED: 



GUESS A LETTER (OR "?' OR ' ! ' ) 

?A 

Th^RE ARE NO A'S IN 

THE WORD, JENNIFER. 

****** 

LETTERS GUESSED: A 



GUESS A LETTER (OR "?' OR '!') 

?E 

THERE ARE NO E'S IN 

THE WORD, JENNIFER. 

****** 

LETTERS GUESSED: AE 



37 



GUESS A LETTER (OR '?' OR '!') 

?I 

THERE ARE NO I'S IN 

THE WORD, JENNIFER. 

*«**«■«■ 

LETTERS GUESSED: AEI 



GUESS A LETTER (OR '?' OR '!') 

?0 

THERE ARE NO O'S IN 

THE WORD, JENNIFER. 

LETTERS GUESSED: AEIO 



GUESS A LETTER (OR '?' OR '•') 

?U 

THERE ARE NO U'S IN 

THE WORD, JENNIFER. 

*«■*«««■ 

LETTERS GUESSED: AEIOU 



GUESS A LETTER (OR '?' OR '!') 

?Y 

GOOD GUESS, JENNIFER! 

»»Y»«* 

LETTERS GUESSED: AEIOUY 



GUESS A LETTER (OR '?' OR '!*), 
?? 

MUSIC 

GUESS A LETTER (OR '?' OR '!') 

?R 

GOOD GUESS, JENNIFER! 

RVY-K-H-* 

LETTERS GUESSED: AEIOUYR 



38 



GUESS A LETTER (OR '?' OR '!'). 

?f 

WHAT DO YOU THINK THE WORD IS7RHYTHM 

YOU FOUND THE WORD IN 7 TRIES! 

WOULD YOU LIKE ANOTHER WORD (YES OR NO)?NO 



39 




Math Tutor 



PROGRAM DESCRIPTION 

In this program the computer presents problems on simple 
addition, subtraction, multiplication, and division. You select the 
math category you want and the number of problems you want to 
work in that category. The computer also asks you the largest set of 
numbers (digits) you want to work with in the category selected, 
and, in the case of division, the computer allows you to choose 
whether or not you want to have remainders in your division 
problems. Correct answers and wrong answers are acknowledged, 
and, after you have finished the number of problems that 
you originally selected to decipher, the computer tells you how 
many problems you did correctly. 

PROGRAM NOTES 

1. After a pre-set number of wrong answers to a problem, give 
the correct answer, and then go on to another problem. 

2. See if you can come up with a "mixed" selection, where all 
types of problems will appear at random. 

3. If you have a printer, consider saving any "missed" problems 
during the program. Print these problems out as a "home- 
work" assignment at the end of the program. Three arrays 
could be set up to cover the two numbers and the arithmetic 
process (+, - *, or /). 



40 



PROGRAM LISTING: BASIC 



100 REM MATH TUTOR BY BARY 0RWI6 

1000 REM INITIALIZE 

1010 DIM NA«(50) 

1020 DIM SA«<SO) 

1030 DIM RE«(10} 

1040 REM USE FULL SCREEN 

1050 POKE 82,0 

1060 PRINT 

2000 REM INTRODUCTION 

2010 PRINT 

2020 PRINT "*»♦♦*»*****»»****»*»♦♦♦»**♦»**»**»*•♦♦♦«• 

2030 PRINT 

2040 PRINT 

2050 PRINT 

2060 PRINT 



MATH TUTOR" 

*«***«-««««***«"N'«««'*«-ll-'ll"»»*«««*«-«««-«««"ll~li~iHI'* 

1 TO 1000 



IS YOUR NAME"; 



2070 FOR DE 

2080 NEXT DE 

2090 PRINT "WHAT 

2100 INPUT NA« 

21 lO PRINT 

2120 PRINT 

2130 PRINT "I AM HAPPY TO MEET YOU, ";NA*;". 

2140 PRINT "WE ARE GOING TO PRACTICE SOME" 

2150 PRINT "MATH PROBLEMS." 

2160 REM OPERATING PARAMETERS 

2170 PRINT 

2180 PRINT 

2190 PRINT 



2200 PRINT 
2210 PRINT 
2220 PRINT 
2230 PRINT 
2240 PRINT 
2250 PRINT 



"WOULD YOU LIKE TO PRACTICE' 
"1. ADDITION" 
"2. SUBTRACTION" 
"3. MULTIPLICATION" 
"4. DIVISION" 



2260 
2270 
2280 
2290 
2300 



"(TYPE IN THE NUMBER YOU WANT) 
INPUT SA* 
IF SA«="1" THEN 23S0 

THEN 2350 

THEN 23SO 

THEN 2350 



">NA« 
OR 4!" 



IF SA«="2" 

IF SA»="3" 

IF SA«="4" 
2310 PRINT 

2320 PRINT "PLEASE PAY ATTENTION, 
2330 PRINT "TYPE IN ONLY A 1,2,3, 
2340 GOTO 2200 
2350 PRINT 

2360 PRINT "HOW MANY PROBLEMS DO YOU" 
2370 PRINT -W#WIT, ";NA*; 
2380 INPUT NU 
2390 PRINT 

2400 PRINT "VERY GOOD, ";NU5" IT WILL BE 
2410 PRINT 

2420 PRINT "WHAT IS THE LARGEST NUMBER" 
2430 PRINT "YOU WANT TO WORK WITH ";NA«; 
2440 INPUT MX 



41 



42 



2450 PRINT 

2460 PRINT "GREAT! I WILL TRY NOT TO GIVE YOU* 

2470 PRINT "ANY NUMBERS OVER "JMX;"." 

2480 IF SA«="4" THEN 2620 

2490 PRINT 

2500 PRINT "I AM NOW READY TO START!" 

2510 PRINT 

2520 FOR DE=1 TO 500 

2530 NEXT DE 

2540 PRINT "HERE WE GO!!" 

2550 FOR DE=1 TO 500 

2560 NEXT DE 

2570 PRINT 

2580 PRINT 

2590 PRINT 

2600 PRINT 

2610 GOTO 4000 

2620 PRINT 

2630 PRINT "DO YOU WANT DIVISION PROBLEMS" 

2640 PRINT "WITH REMAINDERS (YES OR NO)"; 

26SO IINH=>UT RE« 

2660 IF RE*="YES" THEN 2720 

2670 IF RE«="ls«3" THEN 2720 

2680 PRINT 

2690 PRINT "JUST TYPE A 'YES' OR 'NO' PLEASE" 

2700 PRINT 

27 lO GOTO 2620 

2720 GOTO 2490 

4000 REM MAIN PROGRAM 

4010 IF SA*="1" THEN 4730 

4020 IF SA»="2" THEN 4570 

4030 IF SA*="3" THEN 4470 

4040 IF RE«="YES" THEN 4220 

4050 REM DIVISION WITHOUT REMAINDER 

4060 GOSUB lOOOO 

4070 HT=1 

4080 IF A<B THEN 41 lO 

4090 C=A/B 

4100 GOTO 4150 

41 lO D=B 

4120 B=A 

4130 A=D 

4140 GOTO 4090 

4150 IF C-INT<C)>0 THEN 4060 

4160 PRINT A;" DIVIDED BY "IB;" EQUALS"; 

4170 INPUT SA 

4180 GOSUB llOOO 

4190 GOSUB 12000 

4200 GOSUB 15000 

4210 GOTO 4050 

4220 REM DIVISION WITH REMAINDER 

4230 GOSUB lOOOO 

4240 HT=1 

4250 IF A<B THEN 4290 

4260 C=INT(A/B) 

4270 RE='A-(C»B) 

4280 GOTO 4330 



4290 D=B 

4300 B=A 

4310 A=D 

4320 GOTO 4260 

4330 PRINT 

4340 PRINT AJ" DIVIDED BY "IB;" EQUALS?" 

4350 PRINT "WHAT IS THE WHOLE NUMBER"; 

4360 INPUT SA 

4370 GOSUB llOOO 

4380 GOSUB 

4390 PRINT 

4400 PRINT 

4410 INPUT SA 

4420 C=RE 

4430 GOSUB 

4440 GOSUB 

4450 GOSUB 



12000 

"AND WHAT IS THE REMAINDER?" 

"TYPE IN O IF THERE IS NONE.' 



IIOOO 

12000 

15000 
4460 GOTO 4220 
4470 REM MULTIPLICATION 
4480 GOSUB 10000 
4490 HT=1 
4500 C=A»B 
4510 PRINT A; 
4520 INPUT SA 
4530 GOSUB llOOO 
4540 GOSUB 12000 
4550 GOSUB 15000 
4560 GOTO 4470 
4570 REM SUBTRACTION 
4580 GOSUB lOOOO 
4590 HT=1 

4600 IF A<B THEN 4630 
4610 C==A-B 
4620 GOTO 4670 
4630 D-B 
4640 B=A 
4650 A^D 
4660 GOTO 46 lO. 
4670 PRINT A; 
4680 INPUT SA 
4690 GOSUB llOOO 
4700 GOSUB 12000 
4710 GOSUB 15000 
4720 GOTO 4570 
4730 REM ADDITION 
4740 GOSUB lOOOO 
4750 HT=1 
4760 C=A+B 
4770 PRINT A; 
4780 INPUT SA 
4790 GOSUB llOOO 
4800 GOSUB 
48 lO GOSUB 



TIMES ";b;" EQUALS"; 



MINUS ";B;" EQUALS"; 



PLUS ";B;" EQUALS"; 



12000 

15000 
4820 GOTO 4730 
lOOOO REM RANDOMIZING 
lOOlO A^'INTCMXvRNDtO))-!-! 
10020 BsINT(MX«RND(0)>-*-l 



43 



44 



10030 
llOOO 
11010 
11020 
11030 
11040 
11050 
11060 
11070 
12000 
12010 
12020 
12030 
12040 
12050 
12060 
12070 
12080 
12090 
12100 
12110 
12120 
12130 
12140 
14000 
14010 
14020 
14030 
14040 
14050 
14060 
14070 
14080 
14090 
14100 
14110 
14120 
14130 
14140 
14 ISO 
14160 
14170 
15000 
15010 
15020 
15030 
20000 
20010 
20020 
20030 
20040 
20050 
20060 
20070 
20080 
20090 
20100 



RETURN 

REM JUDGE ANSWER 

IF SA=C THEN 11070 

GOSUB 14000 

PRINT 

PRINT "TRY AGAIN!" 

INPUT SA 

GOTO IIOIO 

RETURN 

REM REWARDS 

PRINT 

I=INT (5«RND (O) ) +1 

ON I GOTO 12050,12070,12090,12110,12130 

REM REWARDS 

PRINT "GREAT!" 

RETURN 

PRINT "SUPER!" 

RETURN 

PRINT "FANTASTIC!" 

RETURN 

PRINT "YOU'RE REALLY GOING NOW, ";NA* 

RETURN 

PRINT "THAT'S GREAT, ";NA* 

RETURN 

REM WRONG 

PRINT 

IF HT=0 THEN 14050 

WR=WR+1 

HT=0 

I=INT(5»RND(0) )+l 

ON I GOTO 14080,14100,14120,14140,14160 

REM WRONGS 

PRINT "OOPS!" 

RETURN 

PRINT "LOOK CLOSER, ";NA« 

RETURN 

PRINT "NO " 

RETURN 

PRINT "ARE YOU PAYING ATTENTION, ";NA» 

RETURN 

PRINT "SORRY!" 

RETURN 

REM SCORE KEEPING 

TL=TL+1 

IF TL=NU THEN 20000 

RETURN 

REM CLOSING 

PRINT 

PRINT "THAT'S ALL!" 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT NU; 

END 



I HOPE YOU HAD FUN, 



YOU HAD ";NU-WR;" out OF 
PROBLEMS CORRECT ! " 



TABLE OF VARIABLES 

NAS 

lOlO 2100 2130 2320 2370 2430 
12110 12130 14100 14140 20040 

SAS 

1020 2260 2270 2280 2290 2300 
2480 4010 4020 4030 

RE« 

1030 2650 2660 2670 4040 

DE 

2070 2080 2520 2530 2550 2560 



NU 

2380 2400 15020 20080 20090 

MX 

2440 2470 lOOlO 10020 

HT 

4070 4240 4490 4590 4750 14020 
14040 

A 

4080 4090 4120 4130 4160 4250 

4260 4270 4300 4310 4340 4500 

4510 4600 4610 4640 4650 4670 

4760 4770 10010 

B 

4080 4090 4110 4120 4160 4250 

4260 4270 4290 4300 4340 4500 

45 lO 4600 4610 4630 4640 4670 

4760 4770 10020 

C 

4090 4150 4150 4260 4270 4420 
4500 4610 4760 IIOIO 

D 

41 lO 4130 4290 4310 4630 4650 



SA 

4170 4360 44 lO 4520 4680 4780 
llOlO 11050 

RE 

4270 4420 

I 

12020 12030 14050 14060 



45 



WR 



14030 14030 20080 



TL 



15010 15010 15020 



PROGRAM LISTING: MICROSOFT BASIC 



lOO REM MATH TUTOR BY GARY ORWI6 

500 REM RESEED RND 

510 RANDOMIZE 

lOOO REM INITIALIZATION 

lOlO REM USE FULL SCREEN 

1020 POKE 82,0 

1030 CLS 

2000 REM INTRODUCTION 

2010 PRINT 

2020 PRINT "*«***«'N"»«»«««««»»»««***«*«»*«"K'*«*'»»«««*«' 

2030 PRINT 

2040 PRINT 

2050 PRINT 

20&0 PRINT 

2070 FOR DE = 

2080 NEXT DE 

2090 PRINT "WHAT 

2100 INPUT NA« 

21 lO PRINT 

2120 PRINT 

2130 PRINT "I AM HAPPY TO MEET YOU, '';NA«; 

2140 PRINT "WE ARE GOltVB TO PRACTICE SOME" 

2150 PRINT "MATH PROBLEMS." 

2160 REM OPERATING PARAMETERS 

2170 PRINT 

2180 PRINT 

2190 PRINT 



MATH TUTOR" 

1 TO 1000 

IS YOUR NAME"; 



2200 PRINT 
2210 PRINT 
2220 PRINT 
2230 PRINT 
2240 PRINT 
2250 PRINT 



"WOULD YOU LIKE TO PRACTICE: 
"1. ADDITION" 
"2. SUBTRACTION" 
"3. MULTIPLICATION" 
"4. DIVISION" 



2260 
2270 IF SA* = 
2280 IF SA« = 
2290 IF SA* = 
2300 IF SA» = 



"(TYPE IN THE NUMBER YOU WANT) 
INPUT SA« 

"1" THEN 2350 

"2" THEN 2350 

"3" THEN 2350 

"4" THEN 2350 
23 lO PRINT 

2320 PRINT "PLEASE PAY ATTENTION, "NA* 
2330 PRINT "TYPE IN ONLY A 1,2,3, OR 4!" 
2340 GOTO 2200 
2350 PRINT 

2360 PRINT "HOW MANY PROBLEMS DO YOU" 
2370 PRINT "WANT, ";NA«; 
2380 INPUT NU 
2390 PRINT 



46 



'WHAT IS THE LARGEST NUMBER" 
■YOU MANT TO WORK WITH ";NA«; 



2400 PRINT "VERY GOOD, ";NU?" IT WILL BE! 

2410 PRINT 

2420 PRINT 

2430 PRINT 

2440 INPUT MX 

2450 PRINT 

2460 PRINT "GREAT! I WILL TRY NOT TO GIVE YOU' 

2470 PRINT "ANY NUMBERS OVER ";MX?"." 

2480 IF SA* = "4" THEN 2620 

2490 PRINT 

2500 PRINT "I AM NOW READY TO START!" 

2510 PRINT 

2520 FOR DE » 1 TO 500 

2530 NEXT DE 

2540 PRINT "HERE WE GO! !" 

2550 FOR DE = 1 TO 500 

2560 NEXT DE 

2570 PRINT 

2580 PRINT 

2590 PRINT 

2600 PRINT 

26 lO GOTO 4000 

2620 PRINT 

2630 PRINT "DO YOU WANT DIVISION PROBLEMS" 

2640 PRINT "WITH REMAINDERS <YES OR N0>"; 

2650 INPUT RE« 

2660 IF RE* = -YES" THEN 2720 

2670 IF RE* = "NO" THEN 2720 

2680 PRINT 

2690 PRINT "JUST TYPE A 'YES' OR 'NO' PLEASE" 

2700 PRINT 

27 I O GOTO 2620 

2720 GOTO 2490 

4000 raEM MAIN PROGRAM 

4010 IF SA* = "1" THEN 4730 

4020 IF SA* = "2" THEN 4570 

4030 IF SA* = "3" THEN 4470 

4040 IF RE* = "YES" THEN 4220 

40S0 REM DIVISION WITHOUT REMAINDER 

4060 GOSUB lOOOO 

4070 HT = 1 

4080 IF A<B THEN 4110 

4090 C = A/B 

4100 GOTO 4150 

4110 D=B 

4120 B=A 

4130 A=D 

4140 GOTO 4090 

4150 IF C - INT<C) > O THEN 4060 

4160 PRINT A;" DIVIDED BY ";B;" EQUALS"; 

4170 INPUT SA 

4180 GOSUB llOOO 

4190 GOSUB 12000 

4200 GOSUB 15000 

42 lO GOTO 4050 

4220 REM DIVISION WITH REMAINDER 



47 



4230 60SUB 10000 

4240 HT = 1 

4250 IF A < B THEN 4290 

4260 C = INT (A / B) 

4270 RE = A - (C * B) 

4280 GOTO 4330 

4290 D = B 

4300 B = A 

4310 A = D 

4320 BOTO 4260 

4330 PRINT 

4340 PRINT A|" DIVIDED BY "iBi" EQUALS?" 

4350 PRINT "WHAT IS THE WHOLE NUMBER"; 

4360 INPUT SA 

4370 GOSUB llOOO 

4380 60SUB 12000 

4390 PRINT "AND WHAT IS THE REMAINDER?" 

4400 PRINT "TYPE IN O IF THERE IS NCMME. " 

4410 INPUT SA 

4420 C = RE 

4430 GOSUB 11000 

4440 GOSUB 12000 

4450 GOSUB 15000 

4460 GOTO 4220 

4470 REM MULTIPLICATION 

4480 GOSUB lOOOO 

4490 HT = 1 

4500 C = A * B 

4510 PRINT a;" TIMES ";Bj" EQUM-S"; 

4520 INPUT SA 

4530 GOSUB llOOO 

4540 GOSUB 12000 

4550 GOSUB 15000 

4560 GOTO 4470 

4570 REM SUBTRACTION 

4580 GOSUB lOOOO 

4590 HT = 1 

4600 IF A < B THEN 4630 

4610 C = A - B 

4620 GOTO 4670 

4630 D =: B 

4640 B = A 

4650 A = D 

4660 GOTO 4610 

4670 PRINT A;" MINUS ";B;" EQUALS"; 

4680 INPUT SA 

4690 GOSUB llOOO 

4700 GOSUB 12000 

47 lO GOSUB 15000 

4720 GOTO 4570 

4730 REM ADDITION 

4740 GOSUB lOOOO 

4750 HT = 1 

4760 C = A + B 

4770 PRINT A;" PLUS ";B;" EQUALS"; 

4780 INPUT SA 



48 



4790 GOSUB llOOO 

4800 60SUB 12000 

4810 GOSUB ISOOO 

4820 GOTO 4730 

10000 REM RANDOMIZING 

A = RND(MX) 

B = RND<MX) 

RETURN 

REM JUDGE ANSWER 

IF SA = C THEN 11070 

GOSUB 14000 

PRINT 

PRINT "TRY AGAIN!" 

INPUT SA 

GOTO IIOIO 

RETlfflN 

REM REWARDS 

PRINT 

I = RND(S> 

ON I GOTO 12050,12070,12090,12110,12130 

REM REWARDS 

PRINT "GREAT!" 

RETURN 
12070 PRINT "SUPER!" 
12080 RETURN 

PRINT "FANTASTIC!" 

RETURN 

PRINT "YOU'RE REALLY GOING NOW, ";NA« 

RETURN 

PRINT "THAT'S GREAT, ";NA« 

RETURN 

REM WRONG 

PRINT 

IF HT = O THEN 140S0 



10010 
10020 
10030 
11000 
11010 
11020 
11030 
11040 
11 050 
11060 
11070 
12000 
12010 
12020 
12030 
12040 
120S0 
12060 



12090 
12100 
12110 
12120 
12130 
12140 
14000 
14010 
14020 
14030 



WR = 



+ 1 



14040 HT = 



14050 
14060 
14070 
14080 
14090 
14100 
14110 
14120 
14130 
14140 
14150 
14160 
14170 
15000 
15010 
15020 
15030 
20000 
20010 
20020 



I = 
ON I 
REM 



WR 

O 

RND(5) 

GOTO 14080, 14100, 14120, 14140, 14160 

WRONGS 
PRINT "OOPS!" 
RETURN 

PRINT "LOOK CLOSER, ";NA* 
RETURN 

PRINT "NO " 

RETURN 

PRINT "ARE YOU PAYING ATTENTION, ";NA* 

RETURN 

PRINT "SORRY!" 

RETURN 

REM SCORE KEEPING 

TL = TL + 1 

IF TL = NU THEN 20000 

RETURN 

REM CLOSING 

PRINT 

PRINT "THAT'S ALL!" 



49 



20030 PRINT 

20040 PRINT "I HOPE YOU HAD FUN, "INA* 

20050 PRINT 

20060 PRINT 

20070 PRINT 

20080 PRINT "YOU HAD ";NU - WR; » OUT OF 

20090 PRINT NU;" PROBLEMS CORRECT!" 

20100 END 



TABLE OF VARIABLES 

A - ONE OF THE NUMBERS 
4080 4090 4120 4130 4160 4250 
4260 4270 4300 4310 4340 4500 
45 lO 4600 46 lO 4640 4650 4670 
4760 4770 10010 

B - THE OTHER NUMBER 
40a0 4090 41 lO 4120 4160 4250 
4260 4270 4290 4300 4340 4500 
45 lO 4600 4610 4630 4640 4670 
4760 4770 10020 

C - CORRECT ANSWER 

4090 4150 4150 4260 4270 4420 

4500 4610 4760 IIOIO 

D - TRANSFER VARIABLE 

41 lO 4130 4290 4310 4630 4650 

DE - DELAY 

2070 20e0 2520 2530 2550 2560 

HT - HIT (CORRECT ANSWER) 

4070 4240 4490 4590 4750 14020 

14040 

I - COUNTER 

12020 12030 14050 14060 

MX - MAXIMUM SIZE OF A AND B 
2440 2470 lOOlO 10020 

NA« - NAME 

2100 2130 2320 2370 2430 12110 

12130 14100 14140 20040 

NU - NUMBER OF PROBLEMS 
2380 2400 15020 20080 20090 

RE - REMAINDER 
4270 4420 

RE« - REMAINDER FLAG FOR DIVISION 
2650 2660 2670 4040 



50 



SA - STUDENT ANSWER 

4170 4360 4410 4520 4680 4780 

11010 11050 

SA« - STUDENT ANSWER 

2260 2270 2280 2290 2300 2480 

4010 4020 4030 

TL - NUMBER OF PROBLEMS PRESENTED 
15010 15010 1S020 

WR - NUMBER WRONG 
14030 14030 20080 

END OF VAR. LIST 



SAMPLE RUN 

WHAT IS YOUR NAME7RONDA 



I AM HAPPY TO MEET YOU, RONDA. 
WE ARE GOING TO PRACTICE SOME 
MATH PROBLEMS. 



WOULD YOU LIKE TO PRACTICE: 

1. ADDITION 

2. SUBTRACTION 

3. MULT I PL I CAT I CHM 

4. DIVISION 

(TYPE IN THE NUMBER YOU WANT) 
?4 

HOW MANY PROBLEMS DO YOU 
WANT, RONDA74 

VERY GOOD, 4 IT WILL BE! 

WHAT IS THE LARGEST NUMBER 
YOU WANT TO WORK WITH RONDA725 

GREAT! I WILL TRY NOT TO GIVE YOU 
ANY NUMBERS OVER 25. 

DO YOU WANT DIVISION PROBLEMS 
WITH REMAINDERS (YES OR NO)?NO 

I AM NOW READY TO START! 

HERE WE GO ! ! 



51 



23 DIVIDED BY 1 EQUALS723 

THAT'S 6REAT, RONDA 

11 DIVIDED BY 1 EGUALS711 

FANTASTIC! 

20 DIVIDED BY 1 EQUALS720 

THAT'S GREAT, RCNMDA 

10 DIVIDED BY 2 EQUALS72 

LOOK CLOSER, RONDA 

TRY AGAIN! 
?5 

THAT'S GREAT, RONDA 

THAT'S ALL! 

I HOPE YOU HAD FUN, RONDA 



YOU HAD 3 OUT OF 
4 PROBLEMS CORRECT! 



52 




Math Word 
Problems 



PROGRAM DESCRIPTION 

Word problems in math are presented in this program. The 
computer displays a word problem and, if you don't want to work 
that particular problem, you have the option of receiving a new 
and different problem by entering a "0" into the computer. When 
giving the answer to a problem use only numbers, not such units as 
$, liters, or other words. 

PROGRAM NOTES 

1. Consider providing the answer after a certain number of 
wrong guesses. 

2. You can enter your own problems in place of the ones that are 
there. Start each problem with the correct answer, and use 
several lines to enter the problem. End each problem with a 
RETURN command. Be sure to maintain the proper sequence 
of line numbers to start each problem. 



PROGRAM LISTING: BASIC 

lOO REM MATH WORD PROBLEMS BY GARY ORWIG 

lOOO REM INITIALIZATION - MAKE 'TL' EQUAL TO THE NUMBER OF P 

ROBLEMS IN YOUR DATA STATEMENTS 

lOlO TL=10 

1020 DIM C<TL) 

1030 FOR 1=1 TO TL 

1040 C(I)=0 



53 



1050 

1060 

1070 

1080 

1090 

llOO 

2000 

2010 

2020 

2030 

2040 

2050 

2060 

2070 

2080 

2090 

2100 

2110 

2120 

2130 

2140 

2150 

2160 

2170 

2180 

2190 

2200 

2210 

2220 

2230 

2240 

2250 

2260 

2270 

2280 

2290 

2300 

2310 

2320 

2330 

2340 

2350 

2360 

2370 

2380 

2390 

2400 

2410 

2420 

4000 

4010 

4020 

4030 

4040 

4050 

4060 



PROBLEMS' 



NEXT I 

DIM NA«(30) 

DIM SA«(15) 

REM USE FULL SCREEN 

POKE 82,0 

PRINT 

REM INTRODUCTION 

D=5 

L=24 

GOSUB 18000 

FOR J=l TO 30 

PRINT "MATH" 

GOSUB 19000 

NEXT J 

FOR J=l TO 30 

PRINT " WORD" 

GOSUB 19000 

NEXT J 

FOR J=l TO 30 

PRINT " 

GOSUB 19000 

NEXT J 

D=200 

GOSUB 19000 

L=24 

GOSUB 

PRINT 

PRINT 

L=ll 

GOSUB 

INPUT NA« 

L=12 

GOSUB 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

L=6 

GOSUB IQOOO 

INPUT SA* 

REM MAIN PROGRAM 

WR=0 

FOR 1=1 TO TL 

IF C(I)=0 THEN GOTO 4060 

NEXT I 

GOTO 20120 

GOSUB lOOOO 



18000 
"HI ! 
"WHAT 

18000 



I'M GLAD TO SEE YOU. 
IS YOUR NAME?" 



18000 

"I'M HAPPY TO MEET YOU, ";NA«;"." 

"I AM GOING TO GIVE YOU SOME WORD" 

"PROBLEMS. IF YOU DON'T WANT TO TRY" 

"ANY PARTICULAR PROBLEM, TYPE IN A 'O' 

"FOR THE ANSWER AND I WILL GIVE YOU " 

"ANOTHER. " 

"WHEN YOU TYPE IN AN ANSWER, TYPE IN" 
"ONLY THE NUMBER (DON'T TYPE IN" 
LITERS, OR OTHER WORDS)." 



♦', 



"PUSH THE 'RETURN' KEY" 
"WHEN YOU ARE READY TO START. 



54 



4070 IF CCR)=1 THEN 4060 

4080 C(R)=1 

4090 L=24 

4100 GOSUB 18000 

41 lO ON R GOSUB 21000, 21050,21 100,21150, 21200,21290,21300, 21 

350,21400,21450 

4120 L=10 

4130 GOSUB 18000 

4140 INPUT SA 

4150 GOSUB llOOO 

4160 ON HT GOTO 4200,4170,4000 

4170 GOSUB 12000 

4180 GOSUB 15000 

4190 GOTO 4000 

4200 GOSUB 14000 

42 lO GOSUB 15000 

4220 GOTO 4090 

lOOOO REM RANDOMIZATION 

lOOlO R=INT<RND<0)*TL)+1 
10020 RETURN 

llOOO REM JUDGE ANSWER 
IIOIO IF SA=0 THEN 11070 

11020 IF SA»C THEN llOSO 
11030 HT=1 

11040 RETURN 

11050 HT=2 

11060 RETURN 

11070 HT=3 

11080 RETURN 

12000 REM REWARD 

12010 L=24 

12020 GOSUB 18000 

12030 PRINT " 

12040 L=12 

12050 GOSUB 18000 

12060 D=500 

12070 GOSUB 19000 

12080 RETURN 

14000 REM WRONG 

14010 L=24 

14020 GOSUB 18000 

14030 PRINT " 

14040 L=12 

14050 GOSUB 18000 

14060 D»SO0 

14070 GOSUB 19000 

14080 RETURN 

15000 REM SCORE KEEPING 

15010 IF HT=1 THEN 15030 

15020 GOTO 20000 

15030 WR-WR+l 

1S040 RETURN 

18000 REM SCROLLING 

18010 FOR 1=1 TO L 

18020 PRINT 

18030 NEXT I 



VERY GOOD!" 



SORRY ! •' 



55 



18040 RETURN 

19000 REM DELAY 

19010 FOR 1=1 TO D 

19020 NEXT I 

19030 RETURN 

20000 REM CLOSING 

20010 IF WR=0 THEN 20050 

20020 PRINT "IT TOOK ";WR+l;" TRIES TO GET THIS" 

20030 PRINT "PROBLEM RIGHT, ";NA«;"." 

20040 GOTO 20060 

20050 PRINT "YOU GOT IT ON THE FIRST TRY, ";NA«5"!" 

20060 PRINT "DO YOU WANT ANOTHER PROBLEM?" 

20070 II\ff>UT SA* 

20080 IF SA«="NO" THEN 20100 

20090 GOTO 4000 

20100 PRINT "BYE FOR NOW" 

20110 END 

20120 PRINT "SORRY, I'M OUT OF PROBLEMS." 

20130 END 

21000 REM PROBLEM SUBROUTINES 

21010 C=244.2 

21020 PRINT "MR. JONES AVERAGES 22-2 MILES PER GAL." 

21030 PRINT "OF GAS. HOW FAR CAN HE GO ON 11 GALLONS?" 

21040 RETURN 

21050 C=9 

21060 PRINT "JANE EARNS *1.25 AN HOUR MOWING THE" 

21070 PRINT "LAWN. HOW MANY HOURS DID SHE WORK" 

21080 PRINT "TO EARN *11.25?" 

21090 RETURN 

21100 C=5 

21110 PRINT "HOW MANY WHOLE BOXES OF ICE CREAM BARS" 

21120 PRINT "CAN BE BOUGHT FOR *3.75, IF " 

21130 PRINT "EACH BOX COSTS «.69" 

21140 RETURN 

21150 C=8 

21160 PRINT "JANICE HAS SAVED 3 QUARTERS EACH WEEK" 

21170 PRINT "FOR 3 WEEKS. FOR HOW MANY MORE WEEKS" 

21 ISO PRINT "MUST SHE SAVE TO BUY AN «8.2S ALBU1?" 

21190 RETURN 

21200 C=30 

21210 PRINT "DICK SPELLED 70% OF 100 WORDS" 

21220 PRINT "CORRECTLY. HOW MANY WORDS DID HE" 

21230 PRINT "MISS?" 

21240 RETURN 

21250 C=10.5 

21260 PRINT "MARTHA BOUGHT SOME JEANS WHICH WERE 257." 

21270 PRINT "OFF THE MARKED PRICE OF *14.00." 

21280 PRINT "HOW MUCH DID SHE PAY?" 

21290 RETURN 

21300 C=10 

21310 PRINT "A PUNCH RECIPE CALLS FOR 5 PARTS K^APE" 

21320 PRINT "JUICE TO 2 PARTS GINGER ALE. HOW MUCH" 

21330 PRINT "ALE GOES WITH 25 LITERS OF GRAPE JUICE?" 

21340 RETURN 

21350 C=24 

21360 PRINT "25% OF A CLASS OF 32 STUDENTS WERE" 



56 



21370 PRINT "ABSENT. HOW MANY STUDENTS WERE " 

21380 PRINT "IN CLASS?" 

21390 RETURN 

21400 C=132 

21410 PRINT "A MARCHING BAND HAS 22 ROWS WITH" 

21420 PRINT "6 PEOPLE IN EACH ROW. HOW" 

21430 PRINT "MANY PEOPLE DOES THIS MAKE?" 

21440 RETURN 

21450 C=72 

21460 PRINT "A FERRIS WHEEL HAS 24 CARS. EACH" 

21470 PRINT "CAN HOLD 3 PEOPLE. WHAT IS THE" 

21480 PRINT "MAXIMUM CAPACITY OF THE FERRIS WHEEL?' 

21490 RETURN 



TABLE OF VARIABLES 

TL 

1010 1020 1030 4020 lOOlO 

C( 

1020 1040 4030 4070 4080 

I 

1030 1040 1050 4020 4030 4040 
18010 18030 19010 19020 

NA« 

lO&O 2240 2270 20030 20050 

SA« 

1070 2420 20070 20080 

D 

2010 2160 12060 14060 19010 

L 

2020 2180 2220 2250 2400 4090 
4120 12010 12040 14010 14040 18010 



J 

2040 2070 2080 2110 2120 2150 



WR 

4010 15030 15030 20010 20020 

R 

4070 4080 4110 lOOlO 

SA 

4140 IIOIO 11020 

HT 

4160 11030 llOSO 11070 ISOIO 



57 



11020 21010 21050 21100 21150 21200 
21250 21300 21350 21400 21450 



PROGRAM LISTING: MICROSOFT BASIC 



100 REM MATH WORD PROBLEMS BY GARY ORWIG 

500 REM RESEED RND 

510 RANDOMIZE 

lOOO REM INITIALIZATION - MAKE 'TL' EQUAL TO THE NUMBER OF 

PROBLEMS IN YOUR DATA STATEMENTS 

lOlO TL = 10 

1020 DIM C(TL) 

1030 FOR I = 1 TO TL 

1040 Cd) = O 

1050 NEXT I 

1060 REM USE FULL SCREEN 

1070 POKE 82, O 

2000 REM INTRODUCTION 

2010 D = 25 

2020 L = 24 

2030 eOSUB 18000 

2040 FOR J = 1 TO 30 

2050 PRINT "MATH" 

2060 GOSUB 19000 

2070 NEXT J 

2080 FOR J = 1 TO 30 

2090 PRINT " WORD" 

2100 GOSUB 19000 

21 lO NEXT J 

2120 FOR J = 1 TO 30 

2130 PRINT " PROBLEMS" 

2140 GOSUB 19000 

21SO NEXT J 

2160 D = lOOO 

2170 GOSUB 19000 

2180 L = 24 

2190 GOSUB 18000 

2200 PRINT "HI! 

2210 PRINT "WHAT 

2220 L = 11 

2230 GOSUB 18000 

2240 INPUT NA* 

2250 L = 12 

2260 GOSUB 18000 

"I'M HAPPY TO MEET YOU, ";NA«;"." 
"I AM GOING TO GIVE YOU SOME WORD" 
"PROBLEMS. IF YOU DON'T WANT TO TRY" 
"ANY PARTICULAR PROBLEM, TYPE IN A 'O'" 
"FOR THE ANSWER AND I WILL GIVE YOU " 
"ANOTHER. " 



I'M GLAD TO SEE YOU. 
IS YOUR NAME?" 



2270 PRINT 
2280 PRINT 
2290 PRINT 
2300 PRINT 
2310 PRINT 
2320 PRINT 
2330 PRINT 
2340 PRINT 
2350 PRINT 
2360 PRINT 



"WHEN YOU TYPE IN AN ANSWER, TYPE IN" 
"ONLY THE NUMBER (DON'T TYPE IN" 
"'*', LITERS, OR OTHER WORDS)." 



58 



2370 PRINT 

2380 PRINT "PUSH THE 'RETURN' KEY" 

2390 PRINT "WHEN YOU ARE READY TO START." 

2400 L = 6 

2410 GOSUB 18000 

2420 INPUT SA« 

4000 REM MAIN PROGRAM 

4010 WR = O 

4020 FOR I = 1 TO TL 

4030 IF C(I) = O THEN GOTO 4060 

4040 NEXT I 

4050 GOTO 20120 

4060 GOSUB lOOOO 

4070 IF C(R) =1 THEN 4060 

4080 C(R) = 1 

4090 L = 24 

4100 GOSUB 18000 

4110 ON R GOSUB 21000,21030,21100,21150,21200,21250,21300,21 

350,21400,21450 

4120 L = 10 

4130 GOSUB 18000 

4140 INPUT SA 

4 ISO GOSUB llOOO 

4160 ON HT GOTO 4200,4170,4000 

4170 GOSUB 12000 

4 ISO GOSUB 15000 

4190 GOTO 4000 

4200 GOSUB 14000 

42 lO GOSUB 15000 

4220 GOTO 4090 

lOOOO REM RANDCHilZATION 

lOOlO R = RND(TL) 

10020 RETURN 

llOOO REM JUDGE ANSWER 

IIOIO IF SA = O THEN 11070 

11020 IF SA = C THEN 11050 

11030 HT = 1 

11040 RETURN 

11050 HT = 2 

11060 RETURN 

11070 HT = 3 

11080 RETURN 

12000 REM REWARD 

12010 L = 24 

12020 GOSUB 18000 

12030 PRINT " VERY GOOD!" 

12040 L = 12 

120S0 GOSUB 18000 

12060 D = 500 

12070 GOSUB 19000 

12080 RETURN 

14000 REM WRONG 

14010 L = 24 

14020 GOSUB 18000 

14030 PRINT " SORRY!" 

14040 L = 12 



59 



l;" TRIES TO BET THIS" 
";na*;"." 



14050 GOSUB 18000 

14060 D = 300 

14070 GOSUB 19000 

14080 RETURN 

15000 REM SCORE KEEPING 

15010 IF HT = 1 THEN 15030 

13020 GOTO 20000 

15030 WR = WR ••- 1 

15040 RETURN 

18000 REM SCROLLING 

18010 FOR I = 1 TO L 

18020 PRINT 

18030 NEXT I 

18040 RETURN 

19000 REM DELAY 

19010 FOR I = 1 TO D 

19020 NEXT I 

19030 RETURN 

20000 REM CLOSING 

20010 IF WR = O THEN 20050 

20020 PRINT "IT TOOK ";WR + 

20030 PRINT "PROBLEM RIGHT, 

20040 GOTO 20060 

20050 PRINT "YCMJ GOT IT ON THE FIRST TRY, ";NA*;"!" 

20060 PRINT "DO YOU WANT ANOTHER PROBLEM?" 

20070 INPUT SA* 

20080 IF SA« = "NO" THEN 20100 

20090 GOTO 4000 

20100 PRINT "BYE FOR NOW" 

20110 END 

20120 PRINT "SORRY, I'M OUT OF PROBLEMS." 

20130 END 

21000 REM PROBLEM SUBROUTINES 

21010 C = 244.2 

21020 PRINT "MR. JONES AVERAGES 22.2 MILES PER GAL." 

21030 PRINT "OF GAS. HOW FAR CAN HE GO ON 11 GALLONS?" 

21040 RETURN 

21050 C = 9 

21060 PRINT "JANE EARNS *1.25 AN HOUR MOWING THE" 

21070 PRINT "LAWN. HOW MANY HOURS DID SHE WORK" 

21080 PRINT "TO EARN ♦11.25?" 

21090 RETURN 

21100 C = 5 

21110 PRINT "HOW MANY WHOLE BOXES OF ICE CREAM BARS" 

21120 PRINT "CAN BE BOUGHT FOR «3.75, IF " 

21130 PRINT "EACH BOX COSTS «.&9 

21140 RETURN 

21150 C = 8 

21160 PRINT "JANICE HAS SAVED 3 QUARTERS EACH WEEK" 

21170 PRINT "FOR 3 WEEKS. FOR HOW MANY MORE WEEKS" 

21180 PRINT "MUST SHE SAVE TO BUY AN «8.25 ALBUM?" 

21190 RETURN 

21200 C = 30 

21210 PRINT "DICK SPELLED 707. OF 100 WORDS" 

21220 PRINT "CORRECTLY. HOW MANY WORDS DID HE" 

21230 PRINT "MISS?" 



60 



21240 RETURN 

21250 C = 10.50 

21260 PRINT "MARTHA BOUGHT SOME JEANS WHICH WERE 257." 

21270 PRINT "OFF THE MARKED PRICE OF «14.00." 

21280 PRINT "HOW MUCH DID SHE PAY?" 

21290 RETURN 

21300 C = 10 

21310 PRINT "A PUNCH RECIPE CALLS FOR 5 PARTS QRAPE" 

21320 PRINT "JUICE TO 2 PARTS GINGER ALE. HOW MUCH" 

21330 PRINT "ALE GOES WITH 25 LITERS OF GRAPE JUICE?" 

21340 RETURN 

21350 C = 24 

21360 PRINT "257. OF A CLASS OF 32 STUDENTS WERE" 

21370 PRINT "ABSENT. HOW MANY STUDENTS WERE " 

21380 PRINT "IN CLASS?" 

21390 RETURN 

21400 C = 132 

21410 PRINT "A MARCHING BAND HAS 22 ROWS WITH" 

21420 PRINT "6 PEOPLE IN EACH ROW. HOW" 

21430 PRINT "MANY PEOPLE DOES THIS MAKE?" 

21440 RETURN 

21450 C = 72 

21460 PRINT "A FERRIS WHEEL HAS 24 CARS. EACH" 

21470 PRINT "CAN HOLD 3 PEOPLE. WHAT IS THE" 

21480 PRINT "MAXIMUM CAPACITY OF THE FERRIS WHEEL?" 

21490 RETURN 



TABLE OF VARIABLES 



C - CORRECT ANSWER 

11020 21010 21050 21100 21150 

21200 21250 21300 21350 21400 

21450 

C(») - PROBLEMS ANSWERED CORRECTLY 
1020 1040 4030 4070 4080 

D - DELAY 

2010 2160 12060 14060 19010 

HT - HIT 

4160 11030 11050 11070 15010 

I - COUNTER 

1030 1040 1050 4020 4030 4040 

18010 18030 19010 19020 

J - COUNTER 

2040 2070 2080 21 lO 2120 2150 

L - LINES FOR SCROLLING 
2020 2 ISO 2220 2250 2400 4090 
4120 12010 12040 14010 14040 
18010 



61 



NA« - NAME 

2240 2270 20030 20050 

R - RANDOM NUMBER 
4070 4080 4110 10010 

SA - STUDENT ANSWER 
4140 IIOIO 11020 

SA* - STUDENT ANSWER 
2420 20070 20080 

TL - NUMBER OF PROBLEMS 
1010 1020 1030 4020 lOOlO 

WR - NUMBER OF TRIES 

40 lO 15030 15030 20010 20020 

END OF VAR. LIST 



SAMPLE RUN 

HI! I'M GLAD TO SEE YOU. 
WHAT IS YOUR NAME? 



7BILL 



I'M HAPPY TO MEET YOU, BILL. 

I AM GOING TO GIVE YOU SOME WORD 

PROBLEMS. IF YOU DON'T WANT TO TRY 

ANY PARTICULAR PROBLEM, TYPE IN A 'O' 

FOR THE ANSWER AND I WILL GIVE YOU 

ANOTHER. 

WHEN YOU TYPE IN AN ANSWER, TYPE IN 
ONLY THE NUMBER (DON'T TYPE IN 
'♦', LITERS, OR OTHER WORDS). 

PUSH THE 'RETURN' KEY 

WHEN YOU ARE READY TO START. 



DICK SPELLED 707. OF 100 WORDS 
CORRECTLY. HOW MANY WORDS DID HE 
MISS? 



?30 



VERY GOOD! 
62 



YOU GOT IT ON THE FIRST TRY, BILL! 
DO YOU WANT ANOTHER PROBLEM? 
?YES 



JANICE HAS SAVED 3 QUARTERS EACH WEEK 
FOR 3 WEEKS. FOR HOW MANY MORE WEEKS 
MUST SHE SAVE TO BUY AN ♦8.25 ALBUM? 



?11 



SORRY • 



JANICE HAS SAVED 3 QUARTERS EACH WEEK 
FOR 3 WEEKS. FOR HOW MANY MORE WEEKS 
MUST SHE SAVE TO BUY AN «8.2S ALBUM? 



?8 



VERY 600D! 



IT TOOK 2 TRIES TO GET THIS 

PROBLEM RIGHT, BILL. 

DO YOU WANT ANOTHER PROBLEM? 

?NO 

BYE FOR NOW 



63 




Memory Test- 
Letters 



PROGRAM DESCRIPTION 

This program enables you to test the power of your memory. 
The computer rapidly scrolls letters randomly at different time 
intervals and you try to remember the letters for the correct 
answer. You may choose at which time interval (short, medium, or 
long) you want the computer to display the letters, depending on 
the skill level that you feel is most comfortable. The more you 
guess correctly, the more difficult the memory test becomes. Each 
time you answer correctly, the computer increases the letters in 
the series scrolled. 

PROGRAM NOTES 

This program is very much like the MEMORY TEST- 
NUMBERS program. Consider combining them, with an option for 
presenting numbers, letters, or a mixture. 



PROGRAM LISTING: BASIC 

100 REM MEMORY TEST-LETTERS BY GARY ORWIG 

lOOO REM INITIALIZATION 

lOlO DIM A«(3> 

1020 DIM AB«(60) 

i030 DIM NA«(30) 

1040 DIM SAS(&0) 

lOSO REM USE FULL SCREEN 

1060 POKE 82, O 



64 



1070 PRINT 

2000 REM INTRODUCTION 

2010 FOR 1=1 TO 40 

2020 GOSUB lOOOO 

2030 PRINT AB* 

2040 NEXT I 

2050 FOR 1=1 TO 200 

2060 NEXT I 

2070 FOR 1=1 TO 12 

2080 PRINT 

2090 NEXT I 

2100 PRINT •• 

2110 FOR 1=1 TO 12 

2120 PRINT 

2130 NEXT I 

2140 PRINT "HI ! 

2150 PRINT 

2160 INPUT NA« 

2170 PRINT 

2180 PRINT 

2190 PRINT 

2200 PRINT 

2210 PRINT 

2220 PRINT 

2230 PRINT 

2240 PRINT 

2250 PRINT 

22&0 PRINT 

2270 PRINT 

2280 PRINT 

2290 PRINT 

2300 PRINT 

2310 PRINT 

2320 PRINT 

2330 PRINT "1. 

2340 PRINT "2. 

2350 PRINT "3. 

2360 PRINT 

2370 PRINT 

2380 PRINT 

2390 PRINT 

2400 PRINT 

2410 INPUT 

2420 T=T»50 

2430 FOR 1=1 

2440 PRINT 

2450 NEXT I 

2460 PRINT "OK! 

2470 AB»="" 

2480 FOR 1=1 TO 12 

2490 PRINT 

2500 NEXT I 

2510 FOR 1=1 TO 200 

2520 NEXT I 

4000 REM MAIN PROGRAM 

4010 GOSUB lOOOO 



MEMORY TEST - LETTERS" 



I AM A FRIENDLY COMPUTER!" 
"WHAT IS YOUR NAME"; 



IT'S NICE TO MEET YOU, ";NA*;". 



"THIS IS A GAME DESIGNED TO TEST" 
"YOUR MEMORY FOR LETTERS. " 

"I WILL SHOW VaU SOME LETTERS" 
"AND YOU WILL" 

"TRY TO REMEMBER THEM LONG ENOUGH' 
"TO TYPE THEM BACK TO ME." 



I CAN SHOW YOU THE LETTERS FOR: 



A SHORT TIME" 
A MEDIUM TIME" 
A LONG TIME" 



"WHICH DO YOU WANT <1, 2, OR 3> " 

"YOU CAN USE A DECIMAL (LIKE. 5)" 

"OR A LARGER NUMBER IF YOU WANT." 

T 



TO 12 



HERE WE GO! 



65 



4020 FOR 1=1 TO 25 

4030 PRINT 

4040 NEXT I 

4050 PRINT AB« 

4060 FOR 1=1 TO T 

4070 NEXT I 

4080 FOR 1=1 TO 25 

4090 PRINT 

4100 NEXT I 

41 lO PRINT "WHAT WAS THE LETTER SET?" 

4120 INPUT SA« 

4130 60SUB llOOO 

4140 IF HT=0 THEN 4180 

4150 GOSUB 12000 

4160 GOSUB 15000 

4170 GOTO 4010 

4180 GOSUB 14000 

4190 GOTO 20000 

lOOOO REN RANDOMIZATION 

lOOlO A=INT(RND(0)«26)+65 

10020 A«=CHR«(A) 

1 0030 AB« ( LEN ( AB« ) -»- 1 ) =A« 

10040 RETURN 

llOOO REM JUDGE ANSWER 

IIOIO IF SA«=AB« THEN GOTO 11040 

11020 HT=0 

11030 RETURN 

11040 HT=1 

11050 RETURN 

12000 REM REWARDS 

12010 HT=0 

12020 PRINT "GREAT!" 

12030 FOR 1=1 TO 250 

12040 NEXT I 

12050 RETURN 

14000 REM WRONG 

14010 FOR 1=1 TO 12 

14020 PRINT 

14030 NEXT I 

14040 PRINT "SORRY!" 

14050 FOR 1=1 TO 10 

14060 PRINT 

14070 NEXT I 

14080 RETURN 

15000 REM SCORE KEEPING 

15010 C=C+1 

15020 RETURN 

20000 REM CLOSING 

20010 PRINT "YOUR ANSWER WAS:" 

20020 PRINT SA* 

20030 PRINT 

20040 PRINT "THE CORRECT LETTER SET WAS: 

20050 PRINT AB« 

20060 PRINT 

20070 PRINT 

20080 PRINT "YOU REMEMBERED A SET" 



66 



20090 PRINT C;" LETTERS LONG!" 

20100 PRINT "DO YOU WANT TO TRY AGAIN?" 

20110 PRINT "(YES OR NO)"; 

20120 INPUT SA» 

20130 IF SA*="YES" THEN 20160 

20140 PRINT "BYE FOR NOW!" 

20150 END 

20160 SA»="" 

20170 AB«="" 

20180 C=0 

20190 GOTO 2290 



TABLE OF VARIABLES 

A« 

lOlO 10020 10030 

AB« 

1020 2030 2470 4050 10030 1OO30 
IIOIO 20050 20170 

NA« 

1030 2160 2190 

SA« 

1040 4120 llOlO 20020 20120 20130 
20160 

I 

2010 2040 2050 2060 2070 2090 
2110 2130 2430 2450 2480 2500 
25 lO 2520 4020 4040 4060 4070 
4080 4100 12030 12040 14010 14030 
14050 14070 

T 

24 lO 2420 2420 4060 

HT 

4140 11020 11040 12010 



A 



C 



lOOlO 10020 



15010 15010 20090 20180 



PROGRAM LISTING: MICROSOFT BASIC 

lOO REM MEMORY TEST-LETTERS BY GARY ORWIG 

SOO REM RESEED RND 

51 O RANDOMIZE 

lOOO REM INITIALIZE 

lOlO REM USE FULL SCREEN 



67 



1020 

1030 

2000 

2010 

2020 

2030 

2040 

2050 

2060 

2070 

2080 

2090 

2100 

2110 

2120 

2130 

21 40 

2150 

2160 

2170 

2180 

2190 

2200 

2210 

2220 

2230 

2240 

2250 

2260 

2270 

2280 

2290 

2300 

2310 

2320 

2330 

2340 

2350 

2360 

2370 

2380 

2390 

2400 

24 lO 

2420 

2430 

2440 

2450 

2460 

2470 

2480 

2490 

2500 

2510 

2520 

4000 



1 TO 12 



1 TO 



"HI ! 
"WHAT 



POKE 82,0 

CLS 

REM I NTRODUCT I ON 

FOR I = 1 TO 40 

60SUB 10000 

PRINT AB* 

NEXT I 

FOR I = 1 TO 2000 

NEXT I 

FOR I = 

PRINT 

NEXT I 

PRINT " 

FOR I = 

PRINT 

NEXT I 

PRINT 

PRINT 

IHPUT NA« 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

INPUT 

T = T 

FOR I 

PRINT 

NEXT I 

PRINT 

AB« = 

FOR I = 

PRINT 

NEXT I 

FOR I = 

NEXT I 

REN MAIN PROGRAM 



MEMORY TEST - LETTERS' 
12 



I AM A FRIENDLY COMPUTER!" 



IT'S NICE TO MEET YOU, ";NA«; 



"THIS IS A GAME DESIGNED TO TEST" 
"YOUR MEMORY FOR LETTERS." 

"I WILL SHOW YOU SOtlE LETTERS" 
"AND YOU WILL" 

"TRY TO REMEMBER THEM LONG ENOUGH' 

"TO TYPE THEM BACK TO ME." 



"I CAN SHOW YOU THE LETTERS FOR: 



"1. 
"2. 
"3. 



A SHORT TIME" 
A MEDIUM TIME" 
A LONG TIME" 



"WHICH DO YCXJ WANT (1, 2, OR 3)" 
"YOU CAN USE A DECIMAL (LIKE. 5) " 
"OR A LARGER NUMBER IF YOU WANT." 

T 

» 200 

= 1 TO 12 



"OK! 

■I tt 



HERE WE GO! 



1 TO 12 



1 TO 2000 



68 



4150 60SUB 
4160 60SUB 



4010 60SUB lOOOO 

4020 FOR I = 1 TO 23 

4030 PRINT 

4040 NEXT I 

4050 PRINT AB* 

4060 FOR I = 1 TO T 

4070 NEXT I 

4080 FOR I = 1 TO 25 

4090 PRINT 

4100 NEXT I 

4110 PRINT "WHAT WAS THE LETTER SET?" 

4120 INPUT SA« 

4130 60SUB llOOO 

4140 IF HT = O THEN 4180 

12000 

15000 
4170 GOTO 4010 
4180 60SUB 14000 
4190 GOTO 20000 
lOOOO REM RANDOMIZATION 
10010 A » RND(26)-«-65 
10020 A* = CHR* (A) 
10030 AB« = AB« + A« 
10040 RETURN 
11000 REM JUDGE ANSWER 
IIOIO IF SA« = AB« GOTO 11040 
11020 HT = O 
11030 RETURN 
11040 HT = 1 
11050 RETURN 
12000 REM REWARDS 
12010 HT = O 
12020 PRINT "GREAT!" 
12030 FOR I = 1 TO lOOO 
12040 NEXT I 
12050 RETURN 
14000 REM WRONG 
14010 FOR I = 1 TO 12 
14020 PRINT 
14030 NEXT I 
14040 PRINT "SCWRY!" 
14050 FOR I = 1 TO lO 
14060 PRINT 
14070 NEXT I 
14080 RETURN 

15000 REM SCORE KEEPING 
15010 C = C + 1 
1S020 RETIAW 
20000 REM CLOSING 
20010 PRINT "YOUR ANSWER WAS:" 
20020 PRINT SA* 
20030 PRINT 

20040 PRINT "THE CORRECT LETTER SET WAS: 
20050 PRINT AB« 
20060 PRINT 
20070 PRINT 



69 



20080 PRINT "YOU REMEMBERED A SET" 

20090 PRINT C;" LETTERS LONG!" 

20100 PRINT "DO YOU WANT TO TRY AGAIN?' 

20110 PRINT "(YES OR NO)"; 

20120 INPUT SA* 

20130 IF SA* = "YES" THEN 20160 

20140 PRINT "BYE FOR NOW!" 

20 ISO END 

20160 SA* = "" 

20170 AB» = "" 

20180 C = O 

20190 GOTO 2290 



TABLE OF VARIABLES 
A - RANDOM NUMBER 

10010 10020 

A* - RANDOM LETTER 
10020 10030 

AB« - RANDOM LETTER STRING 
2030 2470 4050 10030 10030 
IIOIO 20050 20170 

C - LENGTH OF STRING 
15010 15010 20090 20180 

HT - HIT 

4140 11020 11040 12010 

I - COUNTER 

2010 2040 2050 2060 2070 2090 
2110 21 30 2430 2450 2480 2500 
25 10 2520 4020 4040 4060 4070 
4080 4 100 12030 12040 14010 
14030 14050 14070 

NA* - NAME 
2160 2190 

SA« - STUDENT ANSMER 

4120 11010 20020 20120 20130 

20160 

T - DELAY 

24 10 2420 2420 4060 

END OF VAR. LIST 



SAMPLE RUN 

HI! I AM A FRIENDLY COMPUTER! 
WHAT IS YOUR NAME7MICKEY 
70 



IT'S NICE TO MEET YOU, MICKEY. 



THIS IS A GAME DESIGNED TO TEST 
YOUR MEMORY FOR LETTERS. 

I WILL SHOW YOU SOME LETTERS 
AND YOU WILL 

TRY TO REMEMBER THEM LONG ENOUGH 
TO TYPE THEM BACK TO ME. 



I CAN SHOW YOU THE LETTERS FOR: 

1. A SHORT TIME 

2. A MEDIUM TIME 

3. A LONG TIME 



WHICH DO YOU WANT <1, 2, OR 3) 
YOU CAN USE A DECIMAL (LIKE. 5) 
OR A LARGER NUMBER IF YOU WANT. 
?1 



OK! HERE WE GO! 



W 



WHAT WAS THE LETTER SET? 

?W 

GREAT ! 



WY 



WHAT WAS THE LETTER SET? 

?WY 

GREAT ! 



WYO 



WHAT WAS THE LETTER SET? 

?WYO 

GREAT ! 



WYOA 

71 



WHAT WAS THE LETTER SET? 

?WYOA 

GREAT ! 



WYOAZ 



WHAT WAS THE LETTER SET? 

?WYOAZ 

GREAT ! 



WYOAZR 



WHAT WAS THE LETTER SET? 

?WYOAZR 

GREAT! 



WYOAZRX 



WHAT WAS THE LETTER SET? 

?WYOAZRX 

GREAT! 



WYOAZRXG 



WHAT WAS THE LETTER SET? 
?WTAOZRXG 



SORRY ! 



YOUR ANSWER WAS: 
WTAOZRXG 

THE CORRECT LETTER SET WAS: 
WYOAZRXG 



YOU REMEMBERED A SET 

7 LETTERS LONG! 

DO YOU WANT TO TRY AGAIN? 

(YES OR NO)?NO 

BYE FOR NOW! 



72 




Memory Test- 
Numbers 



PROGRAM DESCRIPTION 

This program is very similar to MEMORY TEST— LETTERS, 
except that it is easier to perform. The computer rapidly scrolls 
numbers randomly at different time intervals and you try to 
remember the numbers for the correct answer. You may choose at 
v/hich time interval (short, medium, or long) you want the 
computer to display the numbers, depending on the skill level that 
you feel is most comfortable. Again, as in MEMORY TEST- 
LETTERS, the more you guess correctly, the more difficult the 
memory test becomes. Each time you answer correctly, the 
computer increases the digits in the number scrolled. 

PROGRAM NOTES 

1 . The scrolling process can be built into a subroutine of its own. 
See line 1 8000 of some of the other programs. 

2. Consider "flashing" the numbers on the screen by clearing the 
screen, printing the numbers, then clearing the screen again. 

3. You may want to adjust line 2410 to get suitable delay 
times. 



PROGRAM LISTING: BASIC 

100 REM MEMORY TEST-NUMBERS BY GARY 0RWI6 
lOOO REM INITIALIZATION 
1010 DIM A*<5) 



73 



1020 

1030 

1040 

1050 

1060 

1070 

2000 

2010 

2020 

2030 

2040 

2050 

2060 

2070 

2080 

2090 

2100 

2110 

2120 

2130 

2140 

2150 

2160 

2170 

2180 

2190 

2200 

2210 

2220 

2230 

2240 

2250 

2260 

2270 

2280 

2290 

2300 

2310 

2320 

2330 

2340 

2350 

2360 

2370 

2380 

2390 

2400 

2410 

2420 

2430 

2440 

2450 

2460 

2470 

2480 

2490 



TO 12 



TO 12 



DIM AB«(60) 

Din IMA«(30> 

DIM SA«(60> 

REM USE FULL SCREEN 

POKE 82, O 

PRINT 

REM INTRODUCTION 

FOR 1=1 TO 40 

60SUB lOOOO 

PRINT AB« 

NEXT I 

FOR 1=1 TO 200 

NEXT I 

FOR 1=1 

PRINT 

NEXT I 

PRINT •' 

FOR 1=1 

PRINT 

NEXT I 

PRINT •' 

PRINT " 

INPUT NA« 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

INPUT DE 

DE=DE*50 

FOR 1=1 TO 12 

PRINT 

NEXT I 

PRINT "OK! HERE WE 60! 

AB«='*" 

FOR 1=1 TO 12 

PRINT 

NEXT I 



MEMORY TEST - NUMBERS" 



HI! I AM A FRIENDLY COMPUTER!" 
WHAT IS YOUR NAME"; 



IT'S NICE TO MEET YOU, ";NA*;". 



"THIS IS A GAME DESIGNED TO TEST" 
"YOUR MEMORY FOR Nl*IBERS. " 



'I WILL SHOW YOU 
'TRY TO REMEMBER 



A NUMBER, AND YOU WILL' 
IT LONG ENOUGH" 



'TO TYPE IT BACK TO ME. 



"I CAN SHOW YOU THE NUMBER FOR: 



•1. 
'2. 
•3. 



A SHORT TIME" 
A MEDIUM TIME* 
A LONG TIME" 



WHICH DO YOU WANT (1, 2, OR 3) " 
YOU CAN USE A DECIMAL (LIKE. 5)" 
OR A LARGER NUMBER IF YOU WANT.' 



74 



2500 FOR 1=1 TO 200 

2310 NEXT I 

4000 REM MAIN PROGRAM 

4010 60SUB lOOOO 

4020 FOR 1=1 TO 25 

4030 PRINT 

4040 NEXT I 

4050 PRINT AB« 

4060 FOR 1=1 TO DE 

4070 NEXT I 

4080 FOR 1=1 TO 25 

4090 PRINT 

4100 NEXT I 

41 lO PRINT "WHAT WAS THE NUMBER?" 

4120 INPUT SA« 

4130 GOSUB llOOO 

4140 IF HT=0 THEN 4180 

4150 GOSUB 12000 

4160 GOSUB 15000 

4170 GOTO 4010 

4180 GOSUB 14000 

4190 GOTO 20000 

lOOOO REM RANDOMIZATION 

lOOlO A«=STR«(INT(RND(0)*10}) 

1 0020 AB« ( LEN ( AB« ) + 1 ) =A« 

10030 RETURN 

llOOO REM JUDGE M4SWER 

IIOIO IF SA«=AB« THEN GOTO 11040 

11020 HT=0 

11030 RETURN 

11040 HT=1 

11050 RETURN 

12000 REM REWARDS 

12010 HT=0 

12020 PRINT "GREAT!" 

12030 FOR 1=1 TO 250 

12040 NEXT I 

12050 RETURN 

14000 REM WRONG 

14010 FOR 1=1 TO 12 

14020 PRINT 

14030 NEXT I 

14040 PRINT "SORRY!" 

14050 FOR 1=1 TO 10 

14060 PRINT 

14070 NEXT I 

14080 RETURN 

15000 REM SCORE KEEPING 

15010 C=C+1 

15020 RETURN 

20000 REM CLOSING 

20010 PRINT "YOUR ANSWER WAS: " 

20020 PRINT SA« 

20030 PRINT 

20040 PRINT "THE CORRECT NUMBER WAS: 

20050 PRINT AB« 



75 



20060 


PRINT 


20070 


PRINT 


20080 


PRINT "YOU REMEMBERED A NUMBER " 


20090 


PRINT C;" DIGITS LONG!" 


20100 


PRINT "DO YOU WANT TO TRY AGAIN?" 


20110 


PRINT "(YES OR NO)"; 


20120 


INPUT SA* 


20130 


IF SA«="YES" THEN 20160 


20140 


PRINT "BYE FOR NOW!" 


20150 


END 


20160 


SA«="" 


20170 


AB*="" 


20180 


c=o 


20190 


GOTO 2280 



TABLE OF VARIABLES 

A« 

lOlO lOOlO 10020 

AB« 

1020 2030 2460 4050 10020 10020 
IIOIO 20050 20170 

NA« 

1030 2160 2190 

SA« 

1040 4120 llOlO 20020 20120 20130 
20160 



2010 2040 2050 2060 2070 2090 

21 lO 2130 2420 2440 2470 2490 

2500 25 lO 4020 4040 4060 4070 

40a0 4100 12030 12040 14010 14030 
14050 14070 



DE 



2400 2410 2410 4060 



HT 



4140 11020 11040 12010 



15010 15010 20090 20180 



PROGRAM LISTING: MICROSOFT BASIC 



76 



lOO REM MEMORY TEST-NUMBERS BY GARY ORWI6 

SOO REM RESEED RND 

51 O RANDOMIZE 

lOOO REM INITIALIZE 

lOlO REM USE FULL SCREEN 



1020 

1030 

2000 

2010 

2020 

2030 

2040 

2050 

2060 

2070 

2080 

2090 

2100 

2110 

2120 

2130 

21 40 

2150 

2160 

2170 

2180 

2190 

2200 

2210 

2220 

2230 

2240 

2250 

2260 

2270 

2280 

2290 

2300 

2310 

2320 

2330 

2340 

2350 

2360 

2370 

2380 

2390 

2400 

2410 

2420 

2430 

2440 

2450 

2460 

2470 

2480 

2490 

2500 

2510 

4000 

4010 



POKE 82,0 

CLS 

REM INTRODUCTION 

FOR I = 1 TO 40 

60SUB 10000 

PRINT AB« 

NEXT I 

FOR I = 1 TO 2000 

NEXT I 

FCMR I = 

PRINT 

NEXT I 

PRINT " 

FOR I = 

PRINT 

NEXT I 

PRINT "HI f 

PRINT "WHAT 



1 TO 12 



1 TO 



MEMORY TEST - NUMBERS' 
12 



I AM A FRIENDLY COMPUTER! 
IS YOUR NAME"; 



"THIS IS A GAME DESIGNED TO TEST" 
"YOUR MEMORY FOR NUMBERS." 

"I WILL SHOW YOU A NUMBER, AND YOU WILL' 
"TRY TO REMEMBER IT LONG ENOUGH" 
"TO TYPE IT BACK TO ME." 



I CAN SHOW YOU THE NUMBER FOR: 



"1. 
"2. 
"3. 



A SHORT TIME" 
A MEDIUM TIME" 
A LONG TIME" 



INPUT NA* 

PRINT 

PRINT 

PRINT "IT'S NICE TO MEET YOU, "JNA*;". 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

INPUT DE 

DE = DE » 

FOR 1=1 

PRINT 

NEXT I 

PRINT "OK! 

AB« = "" 

FOR I = 

PRINT 

NEXT I 

FOR I = 

NEXT I 

REM MAIN PROGRAM 

GOSUB lOOOO 



"WHICH DO YOU WANT (1, 
"YOU CAN USE A DECIMAL 



2, OR 3)" 
(LIKE. 5)" 



■OR A LARGER NUMBER IF YOU WANT. 



500 
TO 12 



HERE WE GO! 



1 TO 12 



1 TO 2000 



77 



4020 FOR I = I TO 25 

4030 PRINT 

4040 NEXT I 

4030 PRINT ABS 

40&0 FOR I = I TO DE 

4070 NEXT I 

4080 FOR I = 1 TO 25 

4090 PRINT 

4100 NEXT I 

41 lO PRINT "WHAT WAS THE NUMBER?" 

4120 INPUT SA* 

4130 GOSUB llOOO 

4140 IF HT = O THEN 4180 

41SO 60SUB 12000 

4160 GOSUB ISOOO 

4170 60TO 4010 

4 ISO GOSUB 14000 

4190 GOTO 20000 

lOOOO REM RANDOMIZATION 

lOOlO A* = STR» < RND (9)) 

10020 A« - RI(^T» (A«,l) 

10030 ABS - AB« + AS 

10040 RETURN 

llOOO REM JUDGE ANSWER 

IIOIO IF SA« = AB« GOTO 11040 

11020 HT = O 

11030 RETURN 

11040 HT = 1 

llOSO RETURN 

12000 REM REWARDS 

12010 HT = O 

1:M20 PRINT "GREAT!" 

12030 FOR I = 1 TO lOOO 

12040 NEXT I 

12050 RETL^N 

14000 REM WtONG 

14010 FOR I = 1 TO 12 

14020 PRINT 

14030 NEXT I 

14040 PRINT "SORRY!" 

140S0 FOR I = 1 TO lO 

14060 PRINT 

14070 NEXT I 

14080 RETURN 

1»>00 REM SCORE KEEPING 

15010 C = C + 1 

15020 RETURN 

20000 REM CLOSING 

2OO10 PRINT "YOUR ANSWER WAS:" 

20020 PRINT SA« 

20030 PRINT 

20040 PRINT "THE CCMRRECT NUMBER WAS:" 

20050 PRINT AB« 

20060 PRINT 

20070 PRINT 

20080 PRINT "YOU REMEMBERED A NUMBER" 



78 



20090 PRINT C;" DIGITS LONG!" 

20100 PRINT "DO YOU WANT TO TRY AGAIN?' 

20110 PRINT "(YES OR NO)"; 

20120 INPUT SA« 

20130 IF SA« = "YES" THEN 20160 

20140 PRINT "BYE FOR NOW!" 

20 ISO END 

20160 SA* = "" 

20170 AB* = "" 

20180 C = O 

20 190 GOTO 2280 



TABLE OF VARIABLES 

A« - SINGLE DIGIT 
10010 10015 lOOlS 10020 

AB« - SET OF DIGITS 

2030 2460 4050 10020 10020 

11010 20050 20170 

C - CORRECT RESPONSES 
15010 15010 20090 20 ISO 

DE - DELAY 

2400 24 10 2410 4060 

HT - HIT 

4140 11020 11040 12010 

I - CflUNTER 

2010 2040 2050 2060 2070 2090 
2110 21 30 2420 2440 2470 2490 
2500 25 10 4020 4040 4060 4070 
4080 4100 12030 12040 14010 
14030 14050 14070 

NA« - NAT^ 
2160 2190 

SA« - STUDENT ANSWER 

4120 11010 20020 20120 20130 

20160 

END OF VAR. LIST 

SAMPLE RUN 

HI! I AM A FRIENDLY COMPUTER! 
WHAT IS YOUR NAME? ALLEN 



IT'S NICE TO MEET YOU, ALLEN. 

79 



THIS IS A GAME DESIGNED TO TEST 
YOUR MEMORY FOR NUMBERS. 

I WILL SHOW YOU A NUMBER, AND YOU WILL 
TRY TO REMEMBER IT LONG ENOUGH 
TO TYPE IT BACK TO l«E. 



I CAN SHOW YOU THE NUMBER FOR: 

1. A SHORT TIME 

2. A MEDIUM TIME 

3. A LONG TIME 



WHICH DO YOU WANT (1, 2, OR 3) 
YOU CAN USE A DECIMAL (LIKE.S) 
OR A LARGER NUMBER IF YOU WANT. 
?1 



OK! HERE IkC GO! 



8 



WHAT WAS THE NUMBER? 

?8 

GREAT! 



88 



WHAT WAS THE NUMBER? 

?88 

GREAT ! 



880 



WHAT WAS THE NUMBER? 

?880 

GREAT ! 



8807 



WHAT WAS THE NUMBER? 

?8807 

GREAT! 



80 



88079 



WHAT WAS THE NUMBER? 

788079 

GREAT ! 



880797 



WHAT WAS THE NUMBER? 

?880797 

GREAT ! 



8807971 



WHAT WAS THE NUMBER? 

?8807971 

GREAT! 



88079711 



WHAT WAS THE NUMBER? 
?8807971 



SORRY ! 



YOUR ANSWER WAS: 
8807971 

THE CORRECT NUMBER WAS: 
38079711 



YOU REMEMBERED A NUMBER 

7 DIGITS LONG! 

DO YOU WANT TO TRY AGAIN? 

(YES OR NO)?NO 

BYE FOR NOW! 



81 




Scrambled 
Words 



PROGRAM DESCRIPTION 

In this program the computer selects words from an instruc- 
tor-made data file and scrambles the letters in the words. The 
computer displays a scrambled word on the screen and asks you to 
identify it. By entering in a "1", the computer provides you with 
hints about the word. This program is an excellent drill for both 
spelling and reading, 

PROGRAM NOTES 

1. Consider setting a letter in place each time a cue (like "*") is 
typed in. It would probably be best to start from the end of the 
word and work toward the beginning. This could be accomp- 
lished by randomizing a shorter length of the word each time 
the "*" is typed in. 

2. Be careful of using words whose letters make up other words 
(snake, sneak). While some of these are likely to get into your 
list, too many can be frustrating. 



82 



PROGRAM LISTING: BASIC 

100 REM SCRAMBLED WORDS BY GARY ORWI6 

lOOO REM INITIALIZATION - SET 'TL' EQUAL TO TOTAL NUMBER OF 

WORDS IN YOUR DATA SET. 

lOlO TL=20 

1020 BL=TL 

1030 TL=TL+1 



1040 

*(20) 

1030 

1060 

1070 

1080 

1090 

1100 

mo 

1120 

1130 

1140 

1150 

1160 

1170 

1180 

1190 

2000 

2010 

2020 

2030 

2040 

2050 

2060 

2070 

2080 

2090 

2100 

2110 

2120 

2130 

2140 

2150 

2160 

2170 

2180 

2190 

2200 

2210 

2220 

2230 

2240 

2250 

2260 

2270 

4000 

4010 

4020 

4030 

4040 

4050 

4060 

4070 

4080 

4090 

4100 

4110 



DIM FL« (TL«20) , HN« (TL*20) , B« (20> , C« (20> , D« ( 1 ) , IMA* (30) , S 

, T« (20) , FLI« (20) , HNI« (20) 

FOR 1=1 TO TL 

FL*<I»20-19, 1*20) =" 

NEXT I 

HN*=FL* 

LN=1 

FOR 1=1 TO TL 

READ FLI«,HNI« 

FL*(LN)=FLI* 

HN«(LN)=HNI« 

LN=LN+20 

NEXT I 

REM USE FULL SCREEN 

POKE 82, O 

PRINT 

TL=TL-1 

REM INTRODUCTION 

FOR 1=1 TO 75 

PRINT "WORD SCRAMBLE "; 

NEXT I 

FOR 1=1 TO 200 

NEXT I 

FOR 1=1 

PRINT 

NEXT I 

PRINT " 

PRINT 

PRINT 

PRINT 

INPUT NA« 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT "HERE WE GO!" 

REM MAIN PROGRAM 

GOSUB lOOOO 

C«=FL« ( R»20- 1 9 , R*20 ) 

L=0 

L=L+1 

IF C*<L,L)=" " THEN 4070 

GOTO 4040 

L=L-1 

C«=C«(1,L) 

T*="" 

FOR 1=1 TO L 

B«( I, !>="#" 



TO 24 



HI! I'M YOUR FRIENDLY COMPUTER!" 



"WHAT IS YOUR NAME?" 



"I'M GLAD TO MEET YOU, ";NA«; 



"WE ARE GOING TO PLAY A WORD GAME. 
"I WILL THINK OF A WORD AND" 
"SCRAMBLE UP THE LETTERS." 

"I WILL SHOW YOU THE LETTERS," 
"AND YOU HAVE TO GUESS THE WORD!" 
"IF YOU TYPE IN A '?' I WILL" 
"GIVE YOU A HINT." 



83 



4120 NEXT I 

4130 FOR 1=1 TO L 

4140 D«=C«(I,I) 

4150 j-int(rimd(0)»L)-<-i:rem mix position 
4160 if b*(j,j)="#" then 4180 

4170 GOTO 4150 

4180 B«(J,J)=D« 

4190 NEXT I 

4200 T«=B* 

4210 IF T»=C* THEN 4090 

4220 PRINT 

4230 PRINT "HERE IS THE SCRAMBLED WORD." 

4240 PRINT 

4250 PRINT T« 

4260 PRINT 

4270 PRINT "WHAT DO YOU THINK THE WORD IS?" 

4280 PRINT "TYPE IN A '?' FOR A HINT." 

4290 INPUT S« 

4300 60SUB llOOO 

4310 IF HT=1 THEN 15000 

4320 GOTO 4230 

lOOOO REM RANDOMIZATION 

lOOlO R=INT(RND(0)*BL)+1 

10020 RETURN 

llOOO REM JUDGE ANSWER 

IIOIO IF S*="?" THEN 16000 

11020 TR=TR+1 

11030 IF S«=C« THEN 12000 

11040 GOTO 14000 

12000 REM REWARD 

12010 HT=1 

12020 PRINT "GOOD GUESS, ";NA*;"!" 

12030 RETURN 

14000 REM WRONG GUESS 

14010 PRINT "SORRY, "iNA»;". ";S* 

14020 PRINT "IS NOT THE WORD. TRY AGAIN!" 

14030 RETURN 

15000 REM SCORE KEEPING 

15010 HT=0 

15020 PRINT "YOU FOUND THE WORD IN" 

15030 IF TR=1 THEN 1S060 

15040 PRINT TR;" TRIES!" 

15050 GOTO 20000 

15060 PRINT "ONE TRY!" 

15070 GOTO 20000 

16000 REM HINT 

I&OIO PRINT 

16020 PRINT HN«(R*20-19,R*20) 

16030 HN*(R»20-19,R*20)="N0 MORE HINTS!" 

16040 PRINT 

16050 RETURN 

20000 REM CLOSING 

20010 PRINT "WOULD YOU LIKE ANOTHER WORD <YES OR NO)"; 

20020 INPUT S« 

20030 IF S«="YES" THEN 20060 

20040 PRINT "BYE FOR NOW!" 



84 



200S0 END 

20060 S*="" 

20070 B»=" 

20080 T*=B* 

20090 B«="" 

20100 T*=B« 

20110 TR=0 

20120 HT=0 

20130 REM DELETE CORRECT WORD FROM LIST 

20 1 40 FL* (R»20-19,R«20) =FL* < BL*20- 1 9 , BL«20 ) 

20 1 50 HN» < R»20- 1 9 , R»20 ) =HN* ( BL»20- 1 9 , BL»20 ) 

20160 BL=BL-1 

201 70 IF BL=0 THEN 20190 

20180 GOTO 4010 

20 190 PRINT "SORRY, YOU HAVE USED ALL MY WORDS!" 

20200 GOTO 20040 

21000 REM DATA 

21010 DATA CHAIR, SIT, BREAKFAST, MORNING, PICTURE, WALL, MONEY, PA 

Y, GRASS, GREEN 

2 1 020 DATA DR I VEW A Y , CEMENT , L I BRAR Y , BOOKS , RASPBERRY , FRU I T , P I L 

LOW , SLEEP , CLOTHES , WEAR 

21030 DATA B I CYCLE, RIDE, DESSERT, CAKE, TELEPHONE, TALK, PIANO, MU 

SIC, PENCIL, WRITE 

21040 DATA SLEIGH, SNOW, OCEAN, WATER, AIRPLANE, FLY, EXERCISE, JOG 

, GIRAFFE, ANIMAL 

21050 DATA EOD,EOD 



TABLE OF VARIABLES 

TL 

1010 1020 1030 1030 1040 1040 
1050 1100 1190 1190 

BL 

1020 10010 20140 20140 20150 20150 
20160 20160 20170 

FL* 

1040 1060 1080 1120 4020 20140 
20140 

HN* 

1040 1080 11 30 16020 16030 20150 
20 150 

B* 

1040 4110 4160 4180 4200 20070 
20080 20090 20100 

C* 

1040 4020 4050 4080 4080 4140 
4210 11030 

D« 

1040 4140 4180 



85 



IMA« 

1040 2130 2150 12020 14010 

S« 

1040 4290 11010 11030 14010 20020 
20030 20060 

T* 

1040 4090 4200 4210 4250 20080 
20100 

FLI* 

1040 lllO 1120 

hHMI« 

1040 mo 1130 

I 

1050 lOAO 1060 1070 llOO 1150 

2010 2030 2040 2050 2060 2080 

4100 41 lO 4110 4120 4130 4140 

4140 4190 

LN 

1090 1120 1130 1140 1140 

R 

4020 4020 lOOlO 16020 16020 16030 
16030 20140 20140 20150 20150 

L 

4030 4040 4040 4050 4050 4070 
4070 4080 4100 4130 4150 

J 

4150 4160 4160 4180 4180 

HT 

4310 12010 15010 20120 

TR 

11020 11020 15030 15040 20110 



PROGRAM LISTING: MICROSOFT BASIC 

lOO REM SCRAMBLED WORDS BY GARY ORWI6 

500 REM RESEED RND 

510 RANDOMIZE 

lOOO REM INITIALIZATION - SET 'TL' EQUAL TO TOTAL NUIBER OF 

WORDS IN YOUR DATA SET. 
lOlO TL = 20 
1020 BL = TL 

1030 DIM FL«(TL),HN*<TL),B»(20) 
1040 FOR I = 1 TO TL 
lOSO READ FL«(I),HN»(I) 

86 



1060 NEXT I 

1070 REM USE FULL SCREEN 

1080 POKE 82,0 

1090 CLS 

2000 REM INTRODUCTION 

2010 FOR I = 1 TO 20 

2020 PRINT "WORD SCRAMBLE "; 

2030 NEXT I 

2040 FOR I = 1 TO 3000 

2050 NEXT I 

2060 FOR I = 1 TO 24 

2070 PRINT 

2080 NEXT I 

2090 PRINT "HI! I'M YOUR FRIENDLY COMPUTER!" 

2100 PRINT 

2110 PRINT 

2120 PRINT "WHAT IS YOUR NAME?" 

2130 INPUT NA« 

2140 PRINT 

2150 PRINT "I'M GLAD TO MEET YOU, ";NA»;"." 

2160 PRINT 

2170 PRINT 

2180 PRINT "WE ARE GOING TO PLAY A WORD GAME. 

2190 PRINT "I WILL THINK OF A WORD AND" 

2200 PRINT "SCRAMBLE UP THE LETTERS." 

2210 PRINT 

2220 PRINT "I WILL SHOW YOU THE LETTERS," 

2230 PRINT "AND YOU HAVE TO GUESS THE WORD!" 

2240 PRINT "IF YOU TYPE IN A '?' I WILL" 

2250 PRINT "GIVE YOU A HINT. " 

2260 PRINT 

2270 PRINT "HERE WE GO!" 

4000 REM MAIN PROGRAM 

4010 GOSUB lOOOO 

4020 C* = FL«<R) 

4030 L = LEN (C») 

4040 T* = "" 

4050 FOR I = 1 TO L 

4060 B«<I) = "#" 

4070 NEXT I 

4080 FOR I = 1 TO L 

4090 D« = MID* (C«,I,1) 

4100 J = rnd(L):rem mix position 

4110 IF B*<J) = "#" THEN 4130 

4120 GOTO 4100 

4130 B«(J) = D* 

4140 NEXT I 

4150 FOR I = 1 TO L 

4160 T* = T* + B*(I> 

4170 NEXT I 

4180 IF T» = C« THEN 4040 

4190 PRINT 

4200 PRINT "HERE IS THE SCRAMBLED WORD." 

4210 PRINT 

4220 PRINT T« 

4230 PRINT 



87 



"WHAT DO YOU THINK THE WORD IS?" 

"TYPE IN A '?' FOR A HINT." 

S« 

llOOO 

= 1 THEN 15000 
4290 GOTO 4200 
lOOOO REM RANDOMIZATION 
R = RND(BL) 
RETURN 

REM JUDGE ANSWER 
IF S* = "?" THEN 16000 
TR = TR + 1 
IF S% = C* THEN 12000 
GOTO 14000 
REM REWARD 
HT = 1 

PRINT "GOOD GUESS, ";NA»;"!" 
RETURN 

REM WRONG GUESS 
PRINT "SORRY, ";NA«;". ";S« 
PRINT "IS NOT THE WORD. TRY AGAIN!" 
RETURN 

REM SCORE KEEPING 
HT = O 

PRINT "YOU FOUND THE WORD IN" 
IF TR = 1 THEN 15060 
PRINT TRJ" TRIES!" 
GOTO 20000 
PRINT "ONE TRY!" 
GOTO 20000 
REM HINT 
PRINT 

PRINT HN«(R) 

HN«(R) = "NO Vaxm HINTS!" 
PRINT 
RETURN 
REM CLOSING 

PRINT "WOULD YOU LIKE ANOTHER WORD <YES OR NO)"; 
INPUT S* 

IF S* = "YES" THEN 20060 
PRINT "BYE FOR NOW!" 
END 

S* = "" 
TR = O 
HT = O 

REM DELETE CORRECT WORD FROM LIST 
FL»(R) = FL»(BL) 
HN«(R) = HN«(BL) 
BL = BL - 1 
IF BL = O THEN 20150 
GOTO 4010 

PRINT "SORRY, YOU HAVE USED ALL MY WORDS!" 
GOTO 20040 
REM DATA 
DATA CHA I R , S I T , BREAKFAST , MORN I NG , P I CTURE , WALL , MONEY , P 



4240 PRINT 
4250 PRINT 
4260 INPUT 
4270 GOSUB 
4260 IF HT 



lOOlO 

10020 

11000 

11010 

11020 

11030 

11040 

12000 

12010 

12020 

12030 

14000 

14010 

14020 

14030 

15000 

15010 

15020 

15030 

1W)40 

150S0 

1SO60 

15070 

16000 

16010 

16020 

16030 

16040 

160S0 

20000 

20010 

20020 

20030 

20040 

20050 

20060 

20070 

20080 

20090 

20100 

20110 

20120 

20130 

20140 

20150 

20160 

21000 

21010 



AY , GRASS, GREEN 



88 



21020 DATA DRIVEWAY, CEMENT, LIBRARY, BOOKS, RASPBERRY, FRUIT, PI 

LLOW, SLEEP, CLOTHES, WEAR 

21030 DATA BICYCLE, RIDE, DESSERT, CAKE, TELEPHONE, TALK, PI MMO, M 

USIC, PENCIL, WRITE 

21040 DATA SLEI6H,SN0W,0CEAN, WATER, A I RPLAhE,in_Y, EXERCISE, JO 

G, GIRAFFE, ANIMAL 

TABLE OF VARIABLES 



B*<*) - SCRAMBLED WORD ARRAY 
1030 4060 4110 4130 4160 

BL - BOTTOM OF LIST MARKER 
1020 lOOlO 20100 20110 20120 
20120 20130 

C* - CORRECT WORD 

4020 4030 4090 4180 11030 

D« - SINGLE LETTER OF WORD 
4090 4130 

FL*(*) - WORD LIST 

1030 1050 4020 20100 20100 

HN«(«) - HINT LIST 

1030 1050 16020 16030 20110 

20110 

HT - HIT 

4280 12010 15010 20080 

I - COUNTER 

1040 1050 1050 1060 2010 2030 

2040 2050 2060 2080 4050 4060 

4070 4080 4090 4140 4150 4160 

4170 

J - RANDOM NUMBER FOR POSITION 
4100 4110 4130 

L - LENGTH OF WORD 

4030 4050 4080 4100 4150 

NAS - NAME 

2130 2150 12020 14010 

R - RANDOM NUMBER 

4020 lOOlO 16020 16030 20100 

20110 

S« - STUDENT ANSWER 

4260 IIOIO 11030 14010 20020 

20030 20060 



89 



T« - SCRAMBLED WORD 
4040 4160 4160 4180 4220 

TL - NUMBER OF WORDS IN LIST 
lOlO 1020 1030 1030 1040 

TR - NUMBER OF TRIES 

11020 11020 15030 15040 20070 

END OF VAR. LIST 



SAMPLE RUN 

HI! I'M YOUR FRIENDLY COMPUTER! 

WHAT IS YOUR NAME? 
?MARLA 

I'M GLAD TO MEET YOU, MARLA. 

WE ARE GOING TO PLAY A WORD GAME. 
I WILL THINK OF A WORD AND 
SCRAMBLE UP THE LETTERS. 

I WILL SHOW YOU THE LETTERS, 
AND YOU HAVE TO GUESS THE WORD! 
IF YOU TYPE IN A '?' I WILL 
GIVE YOU A HINT. 

HERE WE GO! 

HERE IS THE SCRAMBLED WORD. 

LEHNTOEEP 

WHAT DO YOU THINK THE WORD IS? 

TYPE IN A '?' FOR A HINT. 

?ELEPHANT 

SORRY, MARLA. ELEPHANT 

IS NOT THE WORD. TRY AGAIN! 

HERE IS THE SCRAMBLED WORD. 

LEHNTOEEP 

WHAT DO YOU THINK THE WORD IS? 

TYPE IN A '?' FOR A HINT. 

?? 

TALK 

HERE IS THE SCRAMBLED WORD. 

LEHNTOEEP 



90 



WHAT DO YOU THINK THE WORD IS? 

TYPE IN A "?' FOR A HINT. 

7TELEPH0NE 

GOOD GUESS, MARL A! 

YOU FOUND THE WORD IN 

2 TRIES! 

WOULD YOU LIKE ANOTHER WORD (YES OR NO)?NO 

BYE FOR NOW! 



91 



/ *i 



Bee fe.; 





Spelling Quiz 



PROGRAM DESCRIPTION 

This program selects spelling words from an instructor-made 
data file. The computer rapidly scrolls a word at different time 
intervals and then asks you to spell the selected word. You may 
choose at which time interval (shorty medium, or long) you want 
the computer to display the word to be spelled. At the end of the 
data word file, the computer will repeat any words that were 
missed until all of the words in the file are spelled correctly. 

PROGRAM NOTES 

1. Consider "flashing" the words, rather than scrolling them. 
This can be done by clearing the screen, printing the word, 
then clearing the screen again. 

2. Consider presenting the words over the ATARI tape recorder. 
This will require a bit of research, and you won't be able to 
randomize, but it would be interesting! 



PROGRAM LISTING: BASIC 



lOO REM SPELLING QUIZ BY GARY ORWIG 

lOOO REM INITIALIZATION - SET 'TL' TO TOTAL NUMBER OF WORDS 

IN YOUR DATA SET. 

lOlO TL=20 

1020 DIM A* (30) 

1030 DIM NA«(30) 

1040 DIM S*<30) 



92 



1050 
1060 
1070 
1080 
1090 
1100 

mo 

2000 

2010 

2020 

2030 

2040 

2050 

2060 

2070 

2080 

2090 

2100 

2110 

2120 

2130 

2140 

2150 

2160 

2170 

2180 

2190 

2200 

2210 

2220 

2230 

2240 

2250 

2260 

2270 

2280 

2290 

2300 

4000 

4010 

4020 

4030 

4040 

4050 

4060 

4070 

4080 

4090 

4100 

4110 

4120 

4130 

4140 

4150 

4160 

4170 

4180 



REM USE FULL SCREEN 

POKE 82,0 

DIM W(TL) 

REM CLEAR CORRECT ANSWER ARRAY 

FOR 1=1 TO TL 

W < I ) =0 

NEXT I 

REM INTRODUCTION 

L=12 



18000 



SPELLING QUIZ" 



I'M GLAD YOU COULD MAKE IT! 



GOSUB 

PRINT 

GOSUB 

D=200 

GOSUB 

PRINT 

PRINT 

INPUT NA* 

PRINT 

PRINT "IT'S NICE TO MEET YOU, ";NA«;". 

L=4 

GOSUB 18000 



18000 

19000 

"HELLO! 

"WHAT'S YOUR NAME?' 



"THIS IS A GAME WHERE I WILL" 
"GIVE YOU WORDS TO PRACTICE SPELLING. 
"SINCE I CAN'T TALK, I WILL FLASH" 
"A WORD ON THE SCREEN FOR JUST A" 
"MOMENT, THEN I WILL WAIT FOR YOU" 
"TO TYPE IT BACK IN." 



CAN LET YOU SEE THE WORDS FOR:" 

1. A SHORT TIME" 

2. A MEDIUM TIME" 

3. A LONG TIME" 



"WHICH WOULD YOU PREFER (TYPE 1,2, OR 3) 

T 



PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT "I 

PRINT " 

PRINT " 

PRINT " 

PRINT 

PRINT 

INPUT 

T=T»50 

PRINT "VERY GOOD, HERE WE GO! 

GOSUB 19000 

REM MAIN PROGRAM 

GOSUB lOOOO 

L=12 

GOSUB 

PRINT 

GOSUB 

D=T 

GOSUB 

GOSUB 



18000 

It 

18000 

19000 
18000 



;A4i 



PRINT "WHAT WAS THE WORD" 

INPUT S* 

GOSUB ISOOO 

GOSUB 11000 

IF HT=1 THEN 4190 

GOSUB 14000 

PRINT "WE WILL TRY THAT ONE AGAIN LATER! 

D=500 

GOSUB 19000 

GOTO 4010 



93 



4190 GOSUB 12000 

4200 D=500 

4210 GOSUB 19000 

4220 GOTO 4010 

lOOOO REM SEQUENCING 

lOOlO W=W+1 

10020 IF W=TL+1 THEN W=l 

10030 IF W(W)=1 THEN GOTO lOOlO 

10040 RESTORE 

10050 FOR 1=1 TO W 

10060 READ A$ 

10070 NEXT I 

10080 RETURN 

llOOO REM JUDGE ANSWER 

11010 IF S«»A« THEN GOTO 11040 

11020 HT=0 

11030 RETURN 

11040 HT=1 

11050 RETURN 

12000 REM REWARDS 

12010 FOR 1=1 TO 100 

12020 PRINT "GREAT! "; 

12030 NEXT I 

12040 C=C+1 

12050 IF C=TL THEN 20000 

12060 W(W)=1 

12070 RETURN 

14000 REM WRONG 

14010 FOR 1=1 TO lOO 

14020 PRINT "SORRY! "; 

14030 NEXT I 

14040 L=3 

14050 GOSUB 18000 

14060 RETURN 

15000 REM SCORE KEEPING 

15010 N=N+1 

15020 RETURN 

18000 REM SCROLLING 

18010 FOR 1=1 TO L 

18020 PRINT 

18030 NEXT I 

18040 RETURN 

19000 REM TIME DELAY 

19010 FOR 1=1 TO D 

19020 NEXT I 

19030 RETURN 

20000 REM CLOSING 

20010 PRINT "WE ARE FINISHED, ";NA<i;"!" 

20020 PRINT "IT TOOK YOU ";N;" TRIES" 

20030 PRINT "TO SPELL THE ";TL;" WORDS." 

21000 REM DATA 

2 1 1 DATA FEBRUARY , GHOST , ALUM I NUM , PRECEDE , FEOE I VE , JUDGEMENT 

, KNOWLEDGE , FRAG I LE , N I NET Y , GUARANTEE 

2 1 020 DATA J EWELR Y , NUCLEAR , OM I TTED , OCCURRENCE , MANAGEABLE , TEC 

h«M I CAL, GRIEVANCE, EXCUSABLE, DEVELOPMENT , CCMiPETENT 



94 



TABLE OF VARIABLES 

TL 

101 O 1070 1090 10020 12050 20030 



1020 4040 10060 IIOIO 

NA« 

1030 2090 2110 20010 

S% 

1040 4100 llOlO 

M( 

1070 llOO 10030 12060 

I 

1090 llOO mo 10050 10070 12010 
12030 14010 14030 18010 18030 19010 
19020 

L 

2010 2120 4020 14040 18010 

D 

2050 4060 4160 4200 19010 

T 

2270 2280 2280 4060 

HT 

4130 11020 11040 

W 

lOOlO lOOlO 10020 10020 10030 10050 
12060 

C 

12040 12040 12050 

N 

15010 ISOIO 20020 



PROGRAM LISTING: MICROSOFT BASIC 

lOO REM SPELLING QUIZ BY GARY ORWIG 

SOO REM RESEED RND 

51 O RANDOMIZE 

1000 REM INITIALIZATION - SET 'TL' TO TOTAL NUMBER OF WORDS 

IN YOUR DATA SET. 

lOlO TL=20 

1020 BL=TL 



95 



1030 
1040 
1050 
1060 
1070 

loao 

1090 

2000 

20 lO 

2020 

2030 

2040 

2050 

2060 

2070 

2080 

2090 

2100 

2110 

2120 

2130 

2140 

2150 

2160 

2170 

2180 

2190 

2200 

2210 

2220 

2230 

2240 

2250 

2260 

2270 

2280 

2290 

2300 

4000 

4010 

4020 

4030 

4040 

4050 

4060 

4070 

4080 

4090 

4100 

4110 

4120 

4130 

4140 

4150 



DIM A*<TL) 

FOR 1=1 TO TL 

READ A«(I) 

NEXT I 

REM USE FULL SCREEN 

POKE 82,0 

CLS 

REM INTRODUCTION 

L=12 

GOSUB 18000 

PRINT " 

60SUB 18000 

D=2000 

GOSUB 19000 

PRINT "HELLO! 

PRINT "WHAT'S YOUR NAME?" 

INPUT NA« 

PRINT 

PRINT "IT'S NICE TO MEET YOU, ";NA«;". 

L=4 

GOSUB 18000 



SPELLING QUIZ' 



I'M GLAD YOU COULD MAKE IT!" 



"THIS IS A GAME WHERE I WILL" 
"GIVE YOU WORDS TO PRACTICE SPELLING." 
"SINCE I CAN'T TALK, I WILL FLASH" 
"A WORD ON THE SCREEN FOR JUST A" 
"MOMENT, THEN I WILL WAIT FOR YOU" 
"TO TYPE IT BACK IN." 

"I CAN LET YOU SEE THE WORDS FOR:" 

1. A SHORT TIME" 

2. A MEDIUM TIME" 

3. A LONG TIME" 

"WHICH WOULD YOU PREFER (TYPE 1,2, OR 3> 



PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

INPUT T 

T=T*200 

PRINT "VERY GOOD, HERE WE GO!" 

GOSUB 19000 

REM MAIN PROGRAM 

GOSUB 10000 

L=12 

GOSUB 

PRINT 

GOSUB 

D=T 

GOSUB 

GOSUB 

PRINT 

INPUT S* 

GOSUB 

GOSUB 



18000 



18000 



";A«(R) 



19000 
18000 
"WHAT WAS THE WORD" 



15000 

11000 
IF HT=1 THEN 4190 
GOSUB 14000 
PRINT "WE WILL TRY THAT OhHE AGAIN LATER! 



96 



4160 D=2000 

4170 GOSUB 19000 

4180 GOTO 4010 

4190 GOSUB 12000 

4200 D=2000 

4210 GOSUB 19000 

4220 REM DELETE CORRECT ANSWER FROM LIST OF WORDS 

4230 A«(R)=A«(BL) 

4240 BL=BL-1 

4250 IF BL=0 THEN 20000 

4260 GOTO 4010 

lOOOO REM RANDOMIZATION 

lOOlO R=RND(BL) 

10020 RETURN 

llOOO REM JUDGE ANSWER 

IIOIO IF S»=A»(R) THEN 11040 

11020 HT=0 

11030 RETURN 

11040 HT=1 

11050 RETURN 

12000 REM REWARDS 

12010 FOR 1=1 TO 100 

12020 PRINT "GREAT! " ; 

12030 NEXT I 

12040 RETURN 

14000 REM WRONG 

14010 FOR 1=1 TO lOO 

14020 PRINT "SORRY! "; 

14030 NEXT I 

14040 L=3 

14050 GOSUB 18000 

14060 RETURN 

15000 REM SCORE KEEPING 

15010 N=N+1 

15020 RETURN 

18000 REM SCROLLING 

18010 FOR 1=1 TO L 

18020 PRINT 

18030 NEXT I 

18040 RETURN 

19000 REM TIME DELAY 

19010 FOR 1=1 TO D 

19020 NEXT I 

19030 RETURN 

20000 REM CLOSING 

20010 PRINT "WE ARE FINISHED, "iNA*;"!" 

20020 PRINT "IT TOOK YOU ";N;" TRIES" 

20030 PRINT "TO SPELL THE ";TL;" WORDS." 

21000 REM DATA 

21010 DATA FEBRUARY , GHOST , ALUM I NUM , PRECEDE , RECE I VE , JUDGEMENT 

, KNOWLEDGE , FRAG I LE , N I NET Y , GUARANTEE 

2 1 020 DATA JEWELRY , NUCLEAR , OM I TTED , OCCURRENCE , MANAGEABLE , TEC 

HNICAL, GRIEVANCE, EXCUSABLE, DEVELOPMENT , COMPETENT 



97 



TABLE OF VARIABLES 

A«(*) - SPELLING WORD ARRAY 
1030 1050 4040 4230 4230 IIOIO 

BL - BOTTOM OF LIST MARKER 
1020 4230 4240 4240 4250 10010 

D - DELAY TIMER 

2050 4060 4160 4200 19010 

HT - HIT (RIGHT ANSWER) 
4130 11020 11040 

1 - GENERAL PURPOSE COUNTER 
1040 1050 1060 12010 12030 
14010 14030 18010 18030 19010 
19020 

L - NUMBER OF SCROLLING LINES 
2010 2120 4020 14040 18010 

N - SCORE KEEPER 
15010 15010 20020 

NA* - STUDENT'S NAME 
2090 21 lO 20010 

R - RANDOM NUMBER 
4040 4230 lOOlO llOlO 

S* - STUDENT'S ANSWER 
4100 llOlO 

T - DISPLAY TIME 
2270 2280 2280 4060 

TL - NUMBER OF WORDS IN LIST 
lOlO 1020 1030 1040 20030 

END OF VAR. LIST 



SAMPLE RUN 

HELLO! I'M GLAD YOU COULD MAKE IT! 

WHAT'S YOUR NAME? 

?AMY 

IT'S NICE TO MEET YOU, AMY. 



THIS IS A GAME WHERE I WILL 
GIVE YOU WORDS TO PRACTICE SPELLING. 
SINCE I CAN'T TALK, I WILL FLASH 
A WORD ON THE SCREEN FOR JUST A 



98 



MOMENT, THEN I WILL WAIT FOR YOU 
TO TYPE IT BACK IN. 

I CAN LET YOU SEE THE WORDS FOR: 

1. A SHORT TIME 

2. A MEDIUM TIME 

3. A LONG TIME 

WHICH WOULD YOU PREFER (TYPE 1,2, OR 3) 

?1 

VERY GOOD, HERE WE GO! 



NUCLEAR 



WHAT WAS THE WORD 

7NUCLEAR 

GREAT! GREAT! GREAT! GREAT! GREAT! GREAT! 

GREAT! GREAT! GREAT! GREAT! GREAT! GREAT! 

GREAT! GREAT! GREAT! GREAT! GREAT! GREAT! 

GREAT ! GREAT ! 

JUDGEMENT 



WHAT WAS THE WORD 

7JUDGEMENT 

GREAT! GREAT! GREAT! GREAT! GREAT! GREAT! 

GREAT! GREAT! GREAT! GREAT! GREAT! GREAT! 

GREAT! GREAT! GREAT! GREAT! GREAT! GREAT! 

GREAT ! GREAT ! 

TECHNICAL 



WHAT WAS THE WORD 
7TECHNICLE 

SORRY! SORRY! SORRY! SORRY! SORRY! SORRY! SORRY! 
SORRY! SORRY! SORRY! SORRY! SORRY! SORRY! SOR 
RY! SORRY! SORRY! SORRY! SORRY! SORRY! SORRY! 

WE WILL TRY THAT ONE AGAIN LATER! 



99 







%' 



V„ 



r-'J 



Story Teller 










*'/ilK 




PROGRAM NOTES 

1. Notice the DATA statements. Quotes are not used in the 
standard ATARI BASIQ and commas cannot be used. In the 
Microsoft BASIQ quotes are used^ and commas can be allowed 
in the DATA statements. 

2. Consider breaking your story at points and inserting questions 
to test for comprehension. 

3. The "999" at the end of the DATA is commonly called an EOF 
(end of file) signal. It tells the computer that there is no more 
data. 

4. Consider adding an over-all comprehension test at the end of 
your story. 

PROGRAM DESCRIPTION 

This program is an excellent drill for developing speed reading 
skills. The computer prints out an instructor- made data file story 
and you are requested to read the story as it is printed. You may 
adjust the speed of the printed material depending on which 
reading level you feel is most comfortable. 



PROGRAM LISTING: BASIC 

lOO REM STORY TELLER BY GARY ORWIG 

500 DATA "WILL YOU WALK INTO MY PARLOR?" SAID 



100 



502 DATA THE SPIDER TO THE FLY - 

504 DATA "TIS THE PRETTIEST LITTLE PARLOR THAT 

506 DATA EVER YOU DID SPY. 

508 DATA THE WAY INTO MY PARLOR IS UP A WINDING 

510 DATA STAIR; 

512 DATA AND I HAVE MANY CURIOUS THINGS TO SHOW 

514 DATA YOU WHEN YOU'RE THERE." 

516 DATA 7. 

518 DATA "OH&NOScNO&"SAID THE LITTLE FLY; 

520 DATA "TO ASK ME IS IN VAIN; 

522 DATA FOR WHO GOES UP YOUR WINDING STAIR 

524 DATA CAN NE'ER COME DOWN AGAIN." 

526 DATA 7. 

528 DATA "I'M SURE YOU MUST BE WEARYSc DEAR& 

530 DATA WITH SOARING UP SO HIGH; 

532 DATA WILL YOU NOT REST UPON MY LITTLE BED?" 

534 DATA SAID THE SPIDER TO THE FLY. 

536 DATA "THERE ARE PRETTY CURTAINS DRAWN AROUND; 

538 DATA THE SHEETS ARE FINE AND THIN; 

540 DATA AND IF YOU LIKE TO REST AWHILESe 

542 DATA I'LL SNUGLY TUCK YOU IN!" 

544 DATA V. 

546 DATA "OH& NO«c NO&" SAID THE LITTLE FLY; 

548 DATA "FOR I'VE OFTEN HEARD IT SAIDSc 

550 DATA THEY NEVER& NEVER WAKE AGAINSc 

552 DATA WHO SLEEP UPON YOUR BED!" 

554 DATA 7. 

556 DATA SAID THE CUNNING SPIDER TO THE FLY - 

558 DATA "DEAR FRIENDSe WHAT CAN I DO 

560 DATA TO PROVE THE WARM AFFECTION I'VE ALWAYS 

562 DATA FELT FOR YOU?" 

564 DATA 7. 

566 DATA "I THANK YOU& GENTLE SIR«c" SHE SAIDSc 

568 DATA "FOR WHAT YOU'RE PLEASED TO SAY8. 

570 DATA AND BIDDING YOU GOOD MORNING NOW& 

572 DATA I'LL CALL ANOTHER DAY." 

574 DATA 7. 

576 DATA THE SPIDER TURNED HIM ROUND ABOUT 

578 DATA AND WENT INTO HIS DEN& 

580 DATA FOR WELL HE KNEW THE SILLY FLY 

582 DATA WOULD SOON COME BACK AGAIN; 

584 DATA SO HE WOVE A SUBTLE WEB 

586 DATA IN A LITTLE CORNER SLY«c 

588 DATA AND SET HIS TABLE READYSc TO DlisE 

590 DATA UPON THE FLY. 

592 DATA 7. 

594 DATA THEN HE CAME OUT TO HIS DCXIR AGAINSc 

596 DATA AND MERRILY DID SING - 

598 DATA "COME HITHER& HITHER& PRETTY FLY& 

600 DATA WITH THE PEARL AND SILVER WING; 

602 DATA YOUR ROBES ARE GREEN AND PURPLE - 

604 DATA THERE'S A CREST UPON YOUR HEAD! 

606 DATA YOUR EYES ARE LIKE THE DIAMOND BRIGHT 

608 DATA BUT MINE ARE DULL AS LEAD!" 

610 DATA 7. 

612 DATA ALAS! ALAS! HOW VERY SOON 



101 



614 DATA THIS SILLY LITTLE FLY«e 

616 DATA HEARING HIS WILY& FLATTERING WORDS 

618 DATA CAME SLOWLY FLITTING BY. 

620 DATA WITH BUZZING WINGS SHE HUNG ALOFT& 

622 DATA THEN NEAR AND NEARER DREW; 

624 DATA THINKING ONLY OF HER BRILLIANT EYESSe 

626 DATA HER GREEN AND PURPLE HUE - 

628 DATA THINKING ONLY OF HER CRESTED HEAD - 

630 DATA POOR FOOLISH THING! AT LASTfic 

632 DATA UP JUMPED THE CUNNING SPIDER& 

634 DATA AND FIRMLY HELD HER FAST! 

636 DATA '/. 

638 DATA HE DRAGGED HER UP HIS WINDING STAIR& 

640 DATA INTO HIS DISMAL DEN& 

642 DATA WITHIN HIS LITTLE PARLOR - 

644 DATA BUT SHE NE'ER CAME OUT AGAIN! 

7. 

X 

650 DATA AND NOW& DEAR LITTLE CHILDREN& 
652 DATA WHO MAY THIS STORY READSe 
654 DATA TO IDLE& SILLYXc FLATTERING WORDS& 
656 DATA I PRAY YOU NE'ER GIVE HEED; 
658 DATA UNTO AN EVIL COUNSELOR CLOSE HEART& 
660 DATA AND EAR& AND EYE& 

662 DATA AND TAKE A LESSON FROM THIS Tf^E 
664 DATA OF THE SPIDER AND THE FLY! 
666 DATA 999 
lOOO REM INITIALIZATION 
lOlO DIM A«<60> 
1020 REM USE FULL SCREEN 
1030 POKE 82,0 
2000 REM INTRODUCTION 
L=24 

18000 

STORY TELLER" 



646 DATA 
648 DATA 



2010 

2020 GOSUB 

2030 PRINT 



18000 

19000 

18000 
THIS IS A PROGRAM WHICH TELLS" 
YOU A STORY. DO YOU WANT TO READ* 



2040 L=12 

2050 GOSUB 

2060 D=250 

2070 GOSUB 

2080 GOSUB 

2090 PRINT 

2100 PRINT 

21 lO PRINT 

2120 PRINT 

2130 PRINT 

2140 PRINT 

2150 PRINT 

2160 PRINT 

2170 PRINT 

2180 L=8 

2190 GOSUB 18000 

2200 INPUT SA 

2210 SP=SA*5 

2220 PRINT 

2230 PRINT "OK! HERE WE GO!" 

2240 D=250 



1. 
2. 
3. 



FAST" 

MEDIUM- 

SLOW" 



TYPE IN A NUMBER AND PRESS" 
THE 'RETURN' KEY" 



102 



2250 60SUB 19000 

2260 L=24 

2270 60SUB 18000 

4000 REM MAIN PROGRAM 

4010 READ A« 

4020 IF A»="999» THEN 20000 

4030 IF A*="%" THEN GOTO 4110 

4040 LE-LEN(A«} 

4050 FOR 1=1 TO LE 

4060 IF A*(I,I)="«t" THEN A* (1,1)=' 

4070 PRINT A«(I,I); 

4080 FOR J=l TO SP 

4090 NEXT J 

4100 NEXT I 

41 lO PRINT 

4120 GOTO 4010 

18000 REM SCROLL 

18010 FOR 1=1 TO L 

1S020 PRINT 

18030 NEXT I 

18040 RETURN 

19000 REM DELAY 

19010 FOR 1=1 TO D 

19020 NEXT I 

19030 RETURN 

20000 REM CLOSING 

20010 PRINT 

20020 PRINT "THE END" 

20030 END 



TABLE OF VARIABLES 



A« 



lOlO 4O10 4020 4030 4040 4060 
4060 4070 



2010 2040 2180 2260 18010 



2060 2240 19010 



SA 



2200 2210 



SP 



22 lO 4080 



LE 



4040 4050 



4050 4060 4060 4060 4060 4070 
4070 4100 18010 18030 19010 19020 



103 



4080 4090 



PROGRAM LISTING; MICROSOFT BASIC 



lOO 


REM 


500 


DATA 


502 


DATA 


504 


DATA 


506 


DATA 


508 


DATA 


510 


DATA 


512 


DATA 


514 


DATA 


516 


DATA 


518 


DATA 


520 


DATA 


522 


DATA 


524 


DATA 


526 


DATA 


528 


DATA 


530 


DATA 


532 


DATA 


534 


DATA 


536 


DATA 


538 


DATA 


540 


DATA 


542 


DATA 


544 


DATA 


546 


DATA 


548 


DATA 


550 


DATA 


552 


DATA 


554 


DATA 


556 


DATA 


558 


DATA 


560 


DATA 


562 


DATA 


564 


DATA 


566 


DATA 


568 


DATA 


570 


DATA 


572 


DATA 


574 


DATA 


576 


DATA 


578 


DATA 


580 


DATA 


582 


DATA 


584 


DATA 


586 


DATA 


588 


DATA 


590 


DATA 


592 


DATA 


594 


DATA 


596 


DATA 



STORY TELLER BY GARY ORWIG 

"'WILL YOU WALK INTO MY PARLOR?' SAID" 

"THE SPIDER TO THE FLY -" 

"'TIS THE PRETTIEST LITTLE PARLOR THAT" 

"EVER YOU DID SPY. " 

"THE WAY INTO MY PARLOR IS UP A WINDING" 

"STAIR; " 

"AND I HAVE MANY CURIOUS THINGS TO SHOW" 

"YOU WHEN YOU'RE THERE.'" 

■I 11 

"'OH, NO, NO, 'SAID THE LITTLE FLY;" 
"'TO ASK ME IS IN VAIN;" 
"FOR WHO GOES UP YOUR WINDING STAIR" 
"CAN NE'ER COME DOWN AGAIN.'" 

II 11 

"'I'M SURE YOU MUST BE WEARY, DEAR," 
"WITH SOARING UP SO HIGH; " 

"WILL YOU NOT REST UPON MY LITTLE i^D?' " 
"SAID THE SPIDER TO THE FLY. " 

"'THERE ARE PRETTY CURTAINS DRAWN AROUND; 
"THE SHEETS ARE FINE AND THIN;" 
"AND IF YOU LIKE TO REST AWHILE," 
" I ' LL SNUGLY TUCK YOU IN ! ' " 

•I 11 

"'OH, NO, NO,' SAID THE LITTLE FLY;" 
"'FOR I'VE OFTEN HEARD If SAID," 
"THEY NEVER, NEVER WAKE AGAIN," 
"WHO SLEEP UPON YOUR BED!'" 

■■ It 

"SAID THE CUNNING SPIDER TO THE FLY -" 
"'DEAR FRIEND, WHAT CAN I DO" 
"TO PROVE THE WARM AFFECTION I'VE ALWAYS" 
"FELT FOR YOU?'" 

■I 11 

"'I THANK YOU, GENTLE SIR,' SHE SAID," 
"'FOR WHAT YOU'RE PLEASED TO SAY," 
"AND BIDDING YOU GOOD MORNING NOW," 
"I'LL CALL ANOTHER DAY.'" 

it 11 

"THE SPIDER TURNED HIM ROUND ABOUT" 

"AND WENT INTO HIS DEN," 

"FOR WELL HE KNEW THE SILLY FLY" 

"WOULD SOON COME BACK AGAIN;" 

"SO HE WOVE A SUBTLE WEB" 

"IN A LITTLE CORNER SLY," 

"AND SET HIS TABLE READY, TO DINE" 

"UPON THE FLY. " 

l> 11 

"THEN HE CAME OUT TO HIS DOOR AGAIN," 
"AND MERRILY DID SING -" 



104 



598 DATA "'COME HITHER, HITHER, PRETTY FLY, " 
600 DATA "WITH THE PEARL AND SILVER WING;" 
602 DATA "YOUR ROBES ARE GREEN AND PURPLE -" 
604 DATA "THERE'S A CREST UPON YOUR HEAD!" 

YOUR EYES ARE LIKE THE DIAMOND BRIGHT' 
BUT MINE ARE DULL AS LEAD!'" 



606 DATA 
608 DATA 
610 DATA 
612 DATA 
614 DATA 
616 DATA 
618 DATA 



ALAS! ALAS! HOW VERY SOON" 
THIS SILLY LITTLE FLY," 
HEARING HIS WILY, FLATTERING WORDS" 
CAME SLOWLY FLITTING BY." 
620 DATA "WITH BUZZING WINGS SHE HUNG ALOFT," 
622 DATA "THEN NEAR AND NEARER DREW;" 
624 DATA "THINKING ONLY OF HER BRILLIANT EYES,' 
626 DATA "HER GREEN AND PURPLE HUE -" 
628 DATA "THINKING ONLY OF HER CRESTED HEAD -" 
630 DATA "POOR FOOLISH THING! AT LAST," 
632 DATA "UP JUMPED THE CUNNING SPIDER," 
634 DATA "AND FIRMLY HELD HER FAST!" 
636 DATA " " 

638 DATA "HE DRAGGED HER UP HIS WINDING STAIR,' 
640 DATA "INTO HIS DISMAL DEN," 
642 DATA "WITHIN HIS LITTLE PARLOR -" 
644 DATA "BUT SHE NE'ER CAME OUT AGAIN!" 
646 DATA " " 
648 DATA " " 

650 DATA "AND NOW, DEAR LITTLE CHILDREN," 
652 DATA "WHO MAY THIS STORY READ," 
654 DATA "TO IDLE, SILLY, FLATTERING WORDS," 
656 DATA "I PRAY YOU NE'ER GIVE HEED;" 
658 DATA "UNTO AN EVIL COUNSELOR CLOSE HEART," 
660 DATA "AND EAR, AND EYE, " 

662 DATA "AND TAKE A LESSON FROM THIS TALE" 
664 DATA "OF THE SPIDER AND THE FLY!" 
666 DATA 999 

lOOO REM INITIALIZE 

lOlO REM USE FULL SCREEN 

1020 POKE 82,0 

1030 CLS 

2000 REM INTRODUCTION 

2010 L = 24 

2020 GOSUB 18000 

2030 PRINT " STORY TELLER" 

2040 L = 12 

2050 GOSUB 18000 

2060 D = 1000 

2070 GOSUB 19000 

2080 GOSUB 18000 

2090 PRINT "THIS IS A PROGRAM WHICH TELLS" 

2100 PRINT "YOU A STORY. DO YOU WANT TO READ" 

21 lO PRINT 

2120 PRINT " 

2130 PRINT " 

2140 PRINT " 

2150 PRINT 

2160 PRINT "TYPE IN A 



1. FAST" 

2. MEDIUM' 

3. SLOW" 



NUMBER AND PRESS' 



105 



2170 PRINT "THE 'RETURN'" 

2180 L = 8 

2190 60SUB 18000 

2200 INPUT SA 

2210 SP = SA » 25 

2220 PRINT 

2230 PRINT "OK! HERE WE 80!" 

2240 D = 1000 

2250 GOSUB 19000 

2260 L = 24 

2270 GOSUB 18000 

40 lO READ A« 

4020 IF A* = ••999" JHEN 20000 

4030 LE = LEN (A«) 

4040 FOR I = 1 TO LE 

4050 PRINT MID» (A«, 1,1); 

4060 FOR J = 1 TO SP 

4070 NEXT J 

4080 NEXT I 

4090 PRINT 

4100 GOTO 4010 

18000 REM SCROLL 

18010 FOR I = 1 TO L 

18020 PRINT 

18030 NEXT I 

18040 RETURN 

19000 REM DELAY 

19010 FOR I = 1 TO D 

19020 NEXT I 

19030 RETURN 

20000 REM CLOSING 

20010 PRINT 

20020 PRINT "THE END" 

20030 END 



TABLE OF VARIABLES 

A* - ONE LINE OF STCWY 
4010 4020 4030 4050 

D - DELAY 

2060 2240 19010 

I - COUNTER 

4040 4050 4080 18010 18030 

19010 19020 

J - COUNTER 
4060 4070 

L - LINES OF SCROLLING 
2010 2040 2180 2260 18010 

LE - LENGTH OF LINE A* 
4030 4040 

106 



SA - STUDENT ANSWER 
2200 2210 

SP - SPEED OF PRINT 
2210 4060 

END OF VAR. LIST 



SAMPLE RUN 

THIS IS A PROGRAM WHICH TELLS 
YOU A STORY. DO YOU WANT TO READ 

1. FAST 

2. MEDIUM 

3. SLOW 

TYPE IN A NUMBER AND PRESS 
THE 'RETURN' KEY TO CONTINUE. 



?1 

OK! HERE WE GO! 



'WILL YOU WALK INTO MY PARLOR?' SAID 

THE SPIDER TO THE FLY - 

'TIS THE PRETTIEST LITTLE PARLOR THAT 

EVER YOU DID SPY. 

THE WAY INTO MY PARLOR IS UP A WINDING 

STAIR; 

AND I HAVE MANY CURIOUS THINGS TO SHOW 

YOU WHEN YOU'RE THERE.' 

'OH, NO, NO, 'SAID THE LITTLE FLY; 
'TO ASK ME IS IN VAIN; 
FOR WHO GOES UP YOUR WINDING STAIR 
CAN NE'ER COME DOWN AGAIN.' 

'I'M SURE YOU MUST BE WEARY, DEAR, 

WITH SOARING UP SO HIGH; 

WILL YOU NOT REST UPON MY LITTLE BED?' 

SAID THE SPIDER TO THE FLY. 

'THERE ARE PRETTY CURTAINS DRAWN AROUND; 

THE SHEETS ARE FINE AND THIN; 

AND IF YOU LIKE TO REST AWHILE, 

I'LL SNUGLY TUCK YOU IN!' 

'OH, NO, NO,' SAID THE LITTLE FLY; 
'FOR I'VE OFTEN HEARD IT SAID, 
THEY NEVER, NEVER WAKE AGAIN, 
WHO SLEEP UPON YOUR BED!' 

SAID THE CUNNING SPIDER TO THE FLY - 

107 



'DEAR FRIEND, WHAT CAN I DO 

TO PROVE THE WARM AFFECTION I'VE ALWAYS 

FELT FOR YOU?' 

' I THANK YOU, GENTLE SIR, ' SHE SAID, 
'FOR WHAT YOU'RE PLEASED TO SAY, 
AND BIDDING YOU GOOD MORNING NOW, 
I'LL CALL ANOTHER DAY.' 

THE SPIDER TURNED HIM ROUND ABOUT 

AND WENT INTO HIS DEN, 

FOR WELL HE KNEW THE SILLY FLY 

WOULD SOON COME BACK AGAIN; 

SO HE WOVE A SUBTLE WEB 

IN A LITTLE CORNER SLY, 

AND SET HIS TABLE READY, TO DINE 

UPON THE FLY. 

THEN HE CAME OUT TO HIS DOOR AGAIN, 
AND MERRILY DID SING - 
'COME HITHER, HITHER, PRETTY FLY, 
WITH THE PEARL AND SILVER WING; 
YOUR ROBES ARE GREEN AND PURPLE - 
THERE'S A CREST UPON YOUR HEAD! 
YOUR EYES ARE LIKE THE DIAMOND BRIGHT 
BUT MINE ARE DULL AS LEAD!' 

ALAS! ALAS! HOW VERY SOON 

THIS SILLY LITTLE FLY, 

HEARING HIS WILY, FLATTERING WORDS 

CAME SLOWLY FLITTING BY. 

WITH BUZZING WINGS SHE HUNG ALOFT, 

THEN NEAR AND NEARER DREW; 

THINKING ONLY OF HER BRILLIANT EYES, 

HER GREEN AND PURPLE HUE - 

THINKING ONLY OF HER CRESTED HEAD - 

POOR FOOLISH THING! AT LAST, 

UP JUMPED THE CUNNING SPIDER, 

AND FIRMLY HELD HER FAST! 

HE DRAGGED HER UP HIS WINDING STAIR, 
INTO HIS DISMAL DEN, 
WITHIN HIS LITTLE PARLOR - 
BUT SHE NE'ER CAME OUT AGAIN! 



AND NOW, DEAR LITTLE CHILDREN, 

WHO MAY THIS STORY READ, 

TO IDLE, SILLY, FLATTERING WORDS, 

I PRAY YOU NE'ER GIVE HEED; 

UNTO AN EVIL COUNSELOR CLOSE HEART, 

AND EAR, AND EYE, 

AND TAKE A LESSON FROM THIS TALE 

OF THE SPIDER AND THE FLY! 

THE END 



108 




Synonyms/ 
Antonyms 



PROGRAM DESCRIPTION 

This program is a word game to learn the differences between 
synonyms and antonyms. The computer will first define a 
synonym and an antonym for the purposes of the program. Then a 
list of words is chosen by the computer with synonyms or 
antonyms mixed in with the selected words. The computer does 
not tell you whether there are synonyms or antonyms in the list of 
words; you do^ however, have the option of selecting the number of 
paired words (synonyms or antonyms) within the list. By using 
multiple-choice questions, the computer asks you to select either 
synonyms or antonyms that are hidden in the list of words. You 
need to know the definitions of all the words in the list, because 
you have to answer all of the questions correctly in order to finish 
the program. 

PROGRAM NOTES 

1. If you prefer, you can announce whether the student should 
look for a synonym or an antonym. This would require 
another array, which would contain the necessary information 
for each problem. 

2. Consider adding homonyms to the program. 



109 



PROGRAM LISTING: BASIC 

lOO REM SYNONYMS'ANTONYMS BY GARY ORWIO 

SOO REM PUT MESSAGE ON SCREEN 

510 PRINT 

520 PRINT "PLEASE WAIT FOR A MOMENT!" 

530 PRINT "I AM READING DATA STATEMENTS." 

1000 REM INITIALIZATION - SET 'TL* EQUAL TO THE NUMBER OF PR 

OBLEMS IN YOUR DATA SET. 

lOlO TL=20 

1020 BL=TL 

1030 LN=1 

1040 TL=TL+1 

1050 DIM Q»<TL»20),A1*<TL*20),A2*<TL»20),A3«<TL»20),A4*(TL*2 

0),KE(TL) 

1060 DIM ai«(20),AlI«(20),A2I«(20>,A3I«(20),A4I«<20> 

1070 DIM NA«(30),S»(5) 

1080 FC« 1=1 TO TL 

1090 Q*<I*20-19,I»20)=" 

llOO ttEXT I 

1 1 02 A 1 «=Q« : A2«=Q« : A3$=Q« : A4«=Q« 

mo FOR 1=1 TO TL 

1120 READ QI«,A1I«,A2I»,A3I«,A4I«,KE 

1130 Q«(LN)=QI« 

1140 A1«(LN)=A1I« 

IISO A2«(LN)=A2I« 

lihO A3«(LN)=A3I« 

1170 A4«(LN)=A4I« 

1180 KE(I)=KE 

1190 LN=LN+20 

1200 NEXT I 

12 lO TL=TL-1 

1220 REM USE FULL SCREEN 

1230 POKE 82, O 

1240 PRINT 

2000 REM INTRODUCTION 

2010 FOR 1=1 TO 50 

2020 PRINT "SYNONYMS - ANTONYMS "; 

2030 NEXT I 

2040 D=200 

2050 GOSUB 19000 

2060 L=12 

2070 GOSUB 18000 

2080 PRINT "WHAT IS YOUR NAME?" 

2090 GOSUB 18000 

2100 II«>UT NA« 

21 lO PRINT 

2120 PRINT 

2130 PRINT "I'M HAPPY TO MEET YOU, ";NA»;"." 

2140 PRINT 

2150 PRINT 

2160 PRINT "THIS IS A GAME OF SYNONYMS" 

2170 PRINT "AND ANTONYMS." 

2180 PRINT 

2190 PRINT "DO YOU NEED INSTRUCTIONS?" 

2200 PRINT "TYPE IN A YES OR A NO." 



110 



2210 INPUT S« 

2220 IF S«=-IMO" THEN 2420 

2230 60SUB 18000 

2240 PRINT "THIS IS REALLY PRETTY EASY, 

2250 PRINT 



';NA«;". 



2260 PRINT 
2270 PRINT 
2280 PRINT 
2290 PRINT 
2300 PRINT 
2310 PRINT 
2320 PRINT 



"A 'SYNONYM' IS A WORD WHICH MEANS" 
"ABOUT THE SAME THING AS ANOTHER WORD. 
"FOR EXAMPLE, 'FAST' AND 'SWIFT' " 
"ARE SYNONYMS. THEY MEAN ABCHJT THE" 
"SAME THINS." 



2330 PRINT 
2340 PRINT 



"ANTONYMS, ON THE OTHER HAND, ARE" 
"OPPOSITES. FOR EXAMPLE, 'FAST' AND* 
"'SLOW' ARE ANTONYMS. THEY MEAN" 

2350 PRINT "OPPOSITE THINGS." 

2360 PRINT 

2370 PRINT 

2380 PRINT 



2390 PRINT 
2400 PRINT 
2410 PRINT 
2420 PRINT 



2430 PRINT 
2440 PRINT 



"LET'S TRY SOME GROUPS OF WORDS." 
"FOR EACH WORD AT THE TOP, TRY TO" 
"PICK A SYNONYM OR ANTONYM FROM THE" 
"LIST. " 



'RETURN' 



OR 4"; 



READY? PUSH THE 

KEY TO BEGIN. " 
2450 IW>UT S* 
4000 REM MAIN PROGRAM 
4010 GOSUB lOOOO 
4020 GOSUB 17000 
4030 PRINT "TYPE IN A 1, 2, 3, 
4040 INPUT SA 

40S0 IF SA<1 C» SA>4 THEN 4030 
4060 GOSUB ISOOO 
4070 GOSUB llOOO 
4080 IF HT=1 THEN 4140 
4090 GOSUB 14000 

4100 PRINT "WE WILL TRY THAT ONE AGAIN LATER! 
41 lO D=200 
4120 GOSUB 19000 
4130 GOTO 4010 
4140 GOSUB 12000 
4150 D=200 
4160 GOSUB 19000 

4170 REM DELETE CORRECT WORDS FROM LIST 
4180 Q«(BW,EW)=Q«(BL«20-19,BL«20) 
4190 Al» <BW,EW) -Al« (BL*20-19, BL*20) 
4200 A2« ( BW , EW ) =A2« ( BL«20- 1 9 , BL*20 ) 
4210 A3* (BW, EW) =A3« <BL»20-19, BL«20} 
4220 A4« ( BW , EW ) =A4« ( BL*20- 1 9 , BL*20 ) 
4230 KE(R)=KE(BL} 
4240 BL=BL-1 

4250 IF BL=0 THEN GOTO 20000 
4260 GOTO 4010 
lOOOO REM RANDOMIZATION 
lOOlO R=INT(RND(0)*BL>+1 
10020 BW=R»20-19 
10030 EW=R«20 



111 



112 



10040 RETURN 

11000 REM JUDGE ANSWER 

IIOIO IF SAsKE(R) THEN 11040 

11020 HT=0 

11030 RETURN 

11040 HT=1 

11050 RETURN 

12000 REM REWARD 

12010 PRINT 

12020 PRINT "SREAT!" 

12030 PRINT 

12040 RETURN 

14000 REM WRONG 

14010 PRINT 

14020 PRINT "SORRY!" 

14030 PRINT 

14040 RETURN 

15000 REM SCORE KEEPING 

15010 N=N+1 

15020 RETl«N 

17000 REM PRINT OUT PROBLEM 

17010 L=12 

17020 GOSUB 18000 

17030 PRINT Q«(BW,EW) 

17040 PRINT / 

17050 PRINT " 1. 

170&0 PRINT " 2. 

17070 PRINT " 3. 

170B0 PRINT " 4. 

17090 L=B 

17100 GOSUB 18000 

171 lO RETURN 

18000 REM PRINT LINES 

18010 FOR 1=1 TO L 

18020 PRINT 

18030 NEXT I 

18040 RETURN 

19000 REM DELAY 

19010 FCMR 1=1 TO D 

19020 NEXT I 

19030 RETURN 

20000 REM CLOSING 

20010 L=12 

20020 GOSUB 18000 

20030 PRINT "IT TOOK ";N;" TRIES TO GET" 

20040 PRINT TL;" PROBLEMS CORRECT!" 

20050 END 

21000 REM DATA 

21010 DATA SHORT, LONG, OPEN, HEAVY, CLOSE, 1 

21020 DATA SLY, CUNNING, TIRED, PRETTY, GENTLE, 1 

21030 DATA SHARP, DULL, HOT, AWFUL, FAST, 1 

2 1 040 DATA SMART , TERR I BLE , CLEVER , HUGE , RAP I D , 2 

21050 DATA ODD, HARSH, EVEN, CORRECT, SMALL, 2 

21060 DATA ERECT, SLOW, BUILD, REPORT, SOFT, 2 

21070 DATA SOFT, SWIFT, THICK, FAT, HARD, 4 

21080 DATA QUICK, GENTLE, CRUEL, SUBTLE, FAST, 4 

21090 DATA YOUNG, SMART, HAPPY, GAWKY, OLD, 4 



";A1«(BW,EW) 
";A2«(BW,EW) 
";A3«(BW,EW) 
";A4»(BW,EW) 



21100 DATA KIND, BLUNT, GRACIOUS, REGULAR, SMI FT, 2 

21 no DATA LITTLE, COLD, ENORMOUS, BULKY, STRONG, 2 

2 1 1 20 DATA SLENDER , GENTLE , OBV I OUS , TH IN , I DLE , 3 

21130 DATA HEAVY, SKILLFUL, COMMON, LIGHT, LAME, 3 

21140 DATA MILD, GHOSTLY, SPACIOUS, CALM, CRAFTY, 3 

21150 DATA FAR, NEAR, DARK, HOLLOW, AFTER, 1 

21160 DATA DECREASE, APPROACH, TREMBLE, REST, DIMINISH, 4 

21170 DATA POOR, SICK, EASY, DOWDY, WEALTHY, 4 

2 1 1 80 DATA AWKWARD , CLUMSY , AM I ABLE , B I G , SLENDER , 1 

21190 DATA REMEMBER, CLEAR, APPROACH, FCMRGET, ATTACK, 3 

2 1 200 DATA PROGRESS , BEW I TCH , ADVANCE , SCATTER , D I SGU I SE , 2 

21210 REM THIS LINE IS l>EEDED TO FILL OUT THE STRINGS 

21220 DATA END , END , END , END , END , 1 



TABLE OF VARIABLES 

TL 

lOlO 1020 1040 1040 1050 1050 

1050 1050 1050 1050 1080 lllO 

1210 1210 20040 



BL 



1020 4180 4180 4190 4190 4200 
4200 4210 42 lO 4220 4220 4230 
4240 4240 4250 lOOlO 



LN 



1030 1130 1140 1150 1160 1170 
1190 1190 



1050 1090 1102 1102 1102 1 102 

1130 4180 4 ISO 17030 

Al« 

1050 1102 1140 4190 4190 17050 



A2* 

1050 1102 1150 4200 4200 17060 



A3« 

1050 1102 1160 4210 4210 17070 



A4« 

1050 1102 1170 4220 4220 17080 



KE( 

1050 1180 4230 4230 IIOIO 



QI« 

1060 1120 1130 



113 



114 



All* 

1060 1120 1140 

A2I« 

1060 1120 1150 

A3I« 

1060 1120 1160 

A4I« 

1060 1 120 1 170 

IMA« 

1070 2100 2130 2240 

S« 

1070 22 lO 2220 2450 

I 

1080 1090 1090 llOO 1110 1180 
1200 2010 2030 18010 18030 19010 
19020 

KE 

1120 1180 

D 

2040 41 lO 4150 19010 

L 

2060 17010 17090 18010 20010 

SA 

4040 4050 4050 IIOIO 

HT 

4080 11020 11040 

BW 

4180 4190 4200 4210 4220 10020 
17030 17050 17060 17070 17080 

EW 

4180 4190 4200 42 lO 4220 10030 
17030 17050 17060 17070 17080 

R 

4230 lOOlO 10020 10030 11010 

N 

15010 15010 20030 



PROGRAM LISTING: MICROSOFT BASIC 

lOO REM SYNONYMS-ANTONYMS BY GARY ORWIG 
SOO REM RESEED RND 



'TL' EQUAL TO THE NUMBER OF 



SIO RANDOMIZE 

lOOO REM INITIALIZATION - SET 

PROBLEMS IN YOUR DATA SET. 

lOlO TL = 20 

1020 BL = TL 

1030 DIM Q*(TL),A1«<TL),A2«<TL),A3*(TL),A4*<TL),KE(TL) 

1040 FOR I = 1 TO TL 

1050 READ Q«(I),A1«(I),A2«(I},A3«(I>,A4«(I),KE(I) 

1060 NEXT I 

REM USE FULL SCREEN 

POKE 82,0 

CLS 

REM INTRODUCTION 

FOR I = 1 TO 15 

FOR J = 1 TO 50 

NEXT J 

PRINT "SYNONYMS - ANTONYMS " ; 

NEXT I 



1070 
1080 
1090 
2000 
2010 
2020 
2030 
2040 
2050 
2060 
2070 
2080 
2090 
2100 
2110 
2120 



D = 2500 
GOSUB 19000 
L = 12 
GOSUB 18000 



PRINT 
GOSUB 
INPUT 
2130 PRINT 
2140 PRINT 



"WHAT 
18000 
NA« 



IS YOUR NAME?" 



2150 
2160 
21 70 
2180 
2190 
2200 
2210 
2220 
2230 
2240 
2250 
2260 
2270 
2280 
2290 
2300 
2310 
2320 
2330 



PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
INPUT 
IF S* 
GOSUB 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 



I'M HAPPY TO MEET YOU, ";NA«; 



"THIS IS A GAME OF SYNONYMS" 
"AND ANTONYMS. " 

"DO YOU NEED INSTRUCTIONS?" 

"TYPE IN A YES OR A NO." 

S« 

= "NO" THEN 3060 

18000 

"THIS IS REALLY PRETTY EASY, ";NA»;".' 

"A 'SYNONYM' IS A WORD WHICH MEANS" 
"ABOUT THE SAME THING AS ANOTHER WORD. 
"FOR EXAMPLE, 'FAST' AND 'SWIFT' " 
"ARE SYNONYMS. THEY MEAN ABOUT THE" 
"SAME THING. " 



2340 PRINT "ANTONYMS, ON THE OTHER HAND, ARE" 
2350 PRINT "OPPOSITES. FOR EXAMPLE, 'FAST' AND" 

"'SLOW' ARE ANTONYMS. THEY MEAN" 

"OPPOSITE THINGS. " 



2360 PRINT 
2370 PRINT 
3000 PRINT 
3010 PRINT 
3020 PRINT 
3030 PRINT 
3040 PRINT 
3050 PRINT 
3060 PRINT 



"LET'S TRY SOME GROUPS OF WORDS." 
"FOR EACH WORD AT THE TOP, TRY TO" 
"PICK A SYNONYM OR ANTONYM FROM THE' 
"LIST. " 



115 



116 



3070 

3080 

3090 

4000 

4010 

4020 

4030 

4040 

4050 

4060 

4070 

4080 

4090 

4100 

4110 

4120 

4130 

4140 

4150 

4160 

4170 

4180 

4190 

4200 

4210 

4220 

4230 

4240 

4250 

4260 

lOOOO 

lOOlO 

10020 

llOOO 

IIOIO 

11020 

11030 

11040 

11050 

12000 

12010 

12020 

12030 

12040 

14000 

14010 

14020 

14030 

14040 

15000 

15010 

15020 

17000 

17010 

17020 

17030 

17040 



PRINT "READY? PUSH THE 'RETURN'" 

PRINT "KEY TO BEGIN." 

INPUT S* 

REM MAIN PROGR^Mi 

GOSUB lOOOO 

60SUB 17000 

PRINT "TYPE IN A 1, 2, 3, OR 4"? 

INPUT SA 

IF SA < 1 OR SA > 4 THEN 4030 

GOSUB ISOOO 

GOSUB llOOO 

IF HT = 1 THEN 4140 

GOSUB 14000 

PRINT "WE WILL TRY THAT ONE AGAIN LATER!" 

D = 2000 

GOSUB 19000 

GOTO 40 lO 

GOSUB 12000 

D = 2000 

GOSUB 19000 

REM DELETE CORRECT WORDS FROM LIST 

Q«(R) = Q«(BL) 

= A1«(BL) 

= A2«(BL) 

= A3«(BL) 

= A4«(BL) 
KE<BL) 



GOTO 20000 



A1«(R) 

A2«(R) 

A3*(R) 

A4«(R> 

KE(R) = 

BL = BL - 1 

IF BL = O THEN 

GOTO 4010 

REM RANDOM I Z AT I ON 

R = RND(BL) 

RETURN 

REM JUDGE ANSWER 

IF SA = KE(R) THEN 11040 

HT = O 

RETURN 

HT = 1 

RETURN 

REM REWARD 

PRINT 

PRINT "GREAT!" 

PRINT 

RETURN 

REM WRONG 

PRINT 

PRINT "SORRY!" 

PRINT 

RETURN 

REM SCORE KEEPING 

N = N + 1 

RETURN 

REM PRINT OUT PROBLEM 

L = 12 

GOSUB 18000 

PRINT Q*(R) 

PRINT 



17050 
17060 
17070 

i7oao 

17090 

17100 

17110 

18000 

18010 

18020 

18030 

18040 

19000 

19010 

19020 

19030 

20000 

200 lO 

20020 

20030 

20040 

20050 

21000 

21010 

21020 

21030 

21040 

21050 

21060 

21070 

21080 

21090 

21100 

21110 

21120 

21130 

21140 

21150 

21160 

21170 

21180 

21190 

21200 

21210 



1. 
2. 
3. 
4. 



";A1*(R) 
";A2«(R) 
";A3S(R) 

";A4«(R) 



PRINT " 

PRINT •• 

PRINT " 

PRINT " 

L = 8 

60SUB 18000 

RETURN 

REM PRINT LINES 

FOR I = 1 TO L 

PRINT 

NEXT I 

RETURN 

REM DELAY 

FOR I = 1 TO D 

NEXT I 

RETURN 

REM CLOSING 

L = 12 

GOSUB 18000 

PRINT "IT TOOK ";N;" TRIES TO GET" 

PRINT TL;" PROBLEMS CORRECT!" 

END 

REM DATA 

DATA SHORT, LONG, OPEN, HEAVY, CLOSE, 1 

DATA SLY , CUNN I N6 , T I RED , PRETTY , GENTLE , 1 

DATA SHARP , DULL , HOT , AWFUL , FAST , 1 

DATA SMART, TERRIBLE, CLEVER, HUGE, RAPID, 2 

DATA ODD , HARSH , EVEN , CORRECT , SMALL , 2 

DATA ERECT , SLOW , BU I LD , REPORT , SOFT , 2 

DATA SOFT, SWIFT, THICK, FAT, HARD, 4 

DATA QU I CK , GENTLE , CRUEL , SUBTLE , FAST , 4 

DATA YOUNG, SMART, HAPPY, GAWKY, OLD,4 

DATA KIND, BLUNT , 6R AC I OUS , REGULAR , SW I FT , 2 

DATA L I TTLE , COLD , ENORMOUS , BULKY , STRCN4G , 2 

DATA SLENDER, GENTLE, OBVIOUS, THIN, IDLE, 3 

DATA HE A V Y , SK I LLFUL , COMMON , L I GHT , LAME , 3 

DATA M I LD , GHOSTLY , SP AC I OUS , CALM , CRAFTY , 3 

DATA FAR , NEAR , DARK , HOLLOW , AFTER , 1 

DATA DECREASE , APPROACH , TREMBLE , REST ,DIMINISH,4 

DATA POOR , S I CK , EASY , DOWDY , WEALTHY , 4 

DATA AWKWARD , CLUMSY , AM I ABLE , B I G , SLENDER , 1 

DATA REMEMBER , CLEAR , APPROACH , FORGET , ATTACK , 3 

DATA PROGRESS , BEW I TCH , ADVANCE , SCATTER , D I S6U I SE , 2 

DATA LAZY, LITTLE, ACTIVE, DIFFICULT, PRETTY, 2 



TABLE OF VARIABLES 

Al«(«) - ANSWERS 1 

1030 1050 4190 4190 17050 

A2*(*) - ANSWERS 2 

1030 1050 4200 4200 17060 



A3»(*) - ANSWERS 3 

1030 1050 4210 4210 17070 



117 



118 



A4«(«) - ANSWERS 4 

1030 lOSO 4220 4220 17080 

BL - BOTTOM OF LIST MARKER 
1020 4iaO 4190 4200 4210 4220 
4230 4240 4240 4250 10010 

D - DELAY 

2060 4110 4150 19010 

HT - HIT 

4080 11020 11040 

I - COUNTER 

1040 1050 1050 1050 1050 1050 
lOSO 1060 2010 20SO 18010 18030 
19010 19020 

J - COUNTER 
2020 2030 

KE(») - KEYS 

1030 1050 4230 4230 11010 

L - LINES OF SCROLLING 

2080 17010 17090 18010 20010 

N - NIAIBER OF Gl^SSES 
15010 15010 20030 

NA« - NAME 
2120 2150 2260 

Q«(*) - QUESTIONS 

1030 1050 4180 4180 17030 

R - RANDOM NUMBER 
4180 4190 4200 4210 4220 4230 
lOOlO 11010 17030 17050 17060 
17070 17080 

S« - STUDENT ANSWER 
2230 2240 3090 

SA - STUDENT ANSWER 
4040 4050 4050 11010 

TL - QUESTIONS IN LIST 

lOlO 1020 1030 1030 1030 1030 

1030 1030 1040 20040 

END OF VAR. LIST 



SAMPLE RUN 

WHAT IS YOUR NAME? 



7MELISSA 



I'M HAPPY TO MEET YOU, MELISSA. 



THIS IS A GAME OF SYNONYMS 
AND ANTONYMS. 

DO YOU NEED INSTRUCTIONS? 
TYPE IN A YES OR A NO. 
?YES 



THIS IS REALLY PRETTY EASY, MELISSA. 

A 'SYNONYM' IS A WORD WHICH MEANS 
ABOUT THE SAME THING AS ANOTHER WORD. 
FOR EXAMPLE, 'FAST' AND 'SWIFT' 
ARE SYNONYMS. THEY MEAN ABOUT THE 
SAME THING. 

ANTONYMS, ON THE OTHER HAND, ARE 
OPPOSITES. FOR EXAMPLE, 'FAST' AND 
'SLOW' ARE ANTONYMS. THEY MEAN 
OPPOSITE THINGS. 



LET'S TRY SOME GROUPS OF WORDS. 
FOR EACH WORD AT THE TOP, TRY TO 
PICK A SYNONYM OR ANTONYM FROM THE 
LIST. 

READY? PUSH THE 'RETURN' 
KEY TO BEGIN. 



PROGRESS 

1. BEWITCH 

2. ADVANCE 

3. SCATTER 

4. DISGUISE 



TYPE IN A 1, 2, 3, OR 4?2 
GREAT ! 

SLENDER 

1. GENTLE 

2. OBVIOUS 

3. THIN 

4. IDLE 



119 



TYPE IN A 1, 2, 3, OR 4?3 
GREAT ! 



POOR 



1. SICK 

2. EASY 

3. DOWDY 

4. WEALTHY 



TYPE IN A 1, 2, 3, OR 474 
GREAT ! 

QUICK 

1. GENTLE 

2. CRUEL 

3. SUBTLE 

4. FAST 

TYPE IN A 1, 2, 3, OR 4?1 

SORRY ! 

WE WILL TRY THAT ONE AGAIN LATER! 



120 




Test Tutor 



PROGRAM DESCRIPTION 

This program provides an instructor-made data base for 
developing a review test on any subject. The instructor can insert 
multiple-choice questions^ answers, and explanations to the 
answers. If you answer a question correctly you have a choice 
either to go on to the next question or to receive an explanation of 
the answer. If you answer the question incorrectly, however, you 
automatically receive an explanation of the answer and the 
computer will ask you the same question again at a later time 
during the review test. You must complete all of the questions 
correctly before you can finish the program. 

PROGRAM NOTES 

1. The large spaces in the DATA statements are due to the 40 
character per line spacing of the computer. If you don't space 
over the 40th character position, the computer will "break" a 
word over two lines. 

2. Consider using A, B, C, or D for the multiple choice 

answers. 

3. You can enter your own questions. Just look at the DATA 
statements. There are three for each problem: the question, 
the selections (with key), and the explanation. 



121 



PROGRAM LISTING: BASIC 



TEST TUTOR 



100 REM TEST TUTOR BY OARY 0RWI6 

1000 REM INITIALIZATION - SET 'TL' EQUAL TO THE NUMBER OF PR 

OBLEMS IN YOUR DATA SET. 

lOlO TL=10 

1020 DIM Q«(120),A1«(40),A2«(40),A3«(40),A4«(40),KE(TL),EX«( 

120) 

1030 DIM NA«(30),S«<5) 

1040 REM USE FULL SCREEN 

1050 POKE 82,0 

1060 PRINT 

1070 REM SET ARRAY TO O 

lOeO FOR 1=1 TO TL 

1090 KE(I)=0 

llOO NEXT I 

2000 REM INTRODUCTION 

2010 FOR 1=1 TO SO 

2020 PRINT " 

2030 NEXT I 

2040 D=200 

20S0 GOSUB 19000 

2060 L=12 

2070 GOSUB 

2080 PRINT 

2090 GOSUB 

2100 IlsffHJT NA« 

2110 PRINT 

2120 PRINT 

2130 PRINT 

2140 PRINT 

2130 PRINT 

2160 PRINT "THIS IS A PROGRAM WHICH WILL HELP" 

2170 PRINT "YOU STUDY FOR YOUR TEST! 

2180 PRINT "I WILL ASK YOU QUESTIONS, AND YOU PICK" 

2190 PRINT "THE NUMBER OF THE CORRECT ANSWER." 

2200 L=8 



18000 
"WHAT 
18000 



IS YOUR NAME?' 



I'M HAPPY TO MEET YOU, "JNA«;" 



22 lO GOSUB 
2220 PRINT 
2230 PRINT 



18000 

"READY? PUSH THE 'RETURN' 

"KEY TO BEGIN." 
2240 INPUT S* 
4000 REM MAIN PROGRAM 
4010 GOSUB lOOOO 
4020 IF KE(NX)=S THEN 4060 
4030 C=0 

4040 GOSUB 17000 
4050 GOTO 4090 
4060 C=C+1 

4070 IF C=TL+1 THEN 20000 
4080 GOTO 4010 
4090 PRINT "TYPE 
4100 INPUT SA 

4110 IF SA<1 OR SA>4 THEN 4090 
4120 GO^JB 15000 
4130 GOSUB llOOO 
4140 IF HT=1 THEN 4230 



IN A 1, 2, 3, OR 4"! 



122 



■WE WILL TRY THAT ONE AGAIN LATER! 



19000 



41SO 60SUB 14000 

4160 D»200 

4170 GOSUB 19000 

4180 GOSUB 6000 

4190 PRINT 

4200 Ds200 

4210 GOSUB 

4220 GOTO 4010 

4230 GOSUB 12000 

4240 D=200 

4250 GOSUB 19000 

4260 PRINT "WOULD YOU LIKE AN EXPLANATION?" 

4270 PRINT "(TYPE IN 'YES' OR 'NO')" 

4280 INPUT S« 

4290 IF S«="YES" THEN GOSUB &000 

4300 GOTO 4010 

6000 REM EXPLANATION 

6010 L=24 

6020 GOSUB 18000 

6030 PRINT EX« 

6040 L=12 

60S0 GOSUB 18000 

6060 PRINT "PRESS 'RETURN' TO CONTIhflJE. " 

6070 Il^nJT S« 

6080 RETURN 

lOOOO REM SEQUENCE QUESTIONS 

lOOlO NX»NX+1 

10020 IF NX<TL+1 THEN 10060 

10030 NX=0 

10040 RESTCfftE 

lOOSO GOTO lOOlO 

10060 READ Q«,A1«,A2«,A3«,A4«,KE,EX« 

10070 RETURN 

llOOO REM JUDGE ANSWER 

IIOIO IF SA=KE THEN 11040 

11020 HT=0 

11030 RETURN 

11040 HT=1 

llOSO KE<NX)=S 

11060 RETURN 

12000 REM REWARD 

12010 PRINT 

12020 PRINT "GREAT!" 

12030 PRINT 

12040 RETURN 

14000 REM WRONG 

14010 PRINT 

14020 PRINT "SORRY!" 

14030 PRINT 

14040 RETURN 

15000 REM SCORE KEEPING 

15010 N=N+1 

15020 RETL«N 

17000 REM PRINT OUT PROBLEM 

17010 L=12 

17020 GOSUB 18000 



123 



1. 

2. 
3. 

4. 



';ai« 
';a2S 
■;A3« 
';A4« 



20020 60SUB 
20030 PRINT 



17030 PRINT Q« 

17040 PRINT 

17050 PRINT " 

17060 PRINT " 

17070 PRINT •' 

17080 PRINT " 

17090 L=S 

17100 80SUB 18000 

171 lO RETURN 

18000 REM PRINT LINES 

18010 FOR 1=1 TO L 

18020 PRINT 

18030 NEXT 1 

18040 RETURN 

19000 REM DELAY 

19010 FOR 1=1 TO D 

19020 NEXT I 

19030 RETURN 

20000 REM CLOSING 

20010 L»12 

18000 

"IT TOOK ";N;" tries to 6ET" 
20040 PRINT TLJ" PROBLEMS CORRECT!" 
20050 END 
21000 REM DATA 

21010 DATA THE VOLTAGE ACROSS A 5.0 OHM RESISTANCE IS lO.O V 
OLTS. WHAT IS THE CURRENT THROUGH THE RESISTANCE? 
21020 DATA .5 AMPS, 2 AMPS,50 AMPS, 13 AMPS, 2 
21030 DATA V=I*R SO I=V/R I=10/5 = 2 AMPS 

21040 DATA THE CURRENT THROUGH A lO.O OHM RESISTANCE IS MEAS 
URED TO BE ll.O AMPS- WHAT VOLTAGE IS BEING APPLIED? 
21050 DATA 21 VOLTS, 1.1 VOLTS, llO VCM_TS, .9 VOLTS, 3 
21060 DATA V=I*R SO V = 11 » lO WHICH EQUALS llO VOLTS 
21070 DATA HOW MUCH POWER IS USED BY A CIRCUIT WHICH DRA 
WS 5.0 AMPS OF CURRENT WHEN 20.0 VOLTS ARE APPLIED? 
21080 DATA 4.0 WATTS,. 25 WATTS, 25 WATTS, 100 WATTS, 4 
21090 DATA P=VI SO P = 20 » 5 WHICH IS 100 WATTS. 
21100 DATA WHAT IS THE MINIMUM SIZE FUSE REQUIRED TO SUPPLY 

CURRENT TO A CIRCUIT WHICH USES 300 WATTS AT 10.0 VOLTS? 
21110 DATA 3000 AMPS, 3 AMPS, .33 AMPS, 30 AMPS, 4 
21120 DATA P=VI SO I=P/V I = 300/10 WHICH IS 30 AMPS. 

ANY SMALLER FUSE WILL BURN OUT. 
21130 DATA WHAT IS THE MINIMUM SIZE FUSE REQUIRED TO SUPPLY 

CURRENT TO A CIRCUIT WHICH USES 300 WATTS AT lOO VOLTS? 
21140 DATA 3000 AMPS, 3 AMPS, .33 AMPS,30 AMPS, 2 

21150 DATA I=P/V SO I = 300/100 WHICH EQUALS 3 AMPS. AS VOL 
TAGE INCREASES LESS CURRENT IS REQUIRED TO SUPPLLY = POWER. 
21160 DATA WHAT AMOUNT OF POWER IS CONSUMED BY A RESISTANC 
E OF lOO OHMS WHEN A CURRENT OF 3 AMPS PASSES THROUGH IT? 
21170 DATA 33 WATTS, 300 WATTS, 900 WATTS, 3000 WATTS, 3 
21180 DATA P=I'"2»R SO P=3 * 3 * lOO WHICH IS 900 WATTS. 
21190 DATA HOW MUCH POWER IS CONSUMED BY A CABLE WHICH HAS 

A RESISTANCE OF 2.0 OHMS AND A VOLTAGE DROP OF 20 VOLTS? 
21200 DATA 40 WATTS, 10 WATTS, 22 WATTS, 200 WATTS, 4 
21210 DATA P=V'^2/R SO P = (20 *20)/2 WHICH IS 200 WATTS 



124 



21220 DATA WHAT VOLTAGE GETS TO A MOTOR IF ThE RESIST. OF TH 
E SUPPLY CABLE IS 2.0 OHMS AND I = 10 AMPS. SUPPLY = 120V. 
21230 DATA 20 VOLTS, 80 VOLTS, 100 VOLTS, 120 VOLTS, 3 
21240 DATA V=IR SO V= 10 « 2 WHICH IS 20 VOLTS (THE VOLTAGE 
LOST IN THE CABLE). 120 - 20 = 100 VOLTS (TO THE MOTOR). 
21250 DATA WHAT IS THE TOTAL RESISTANCE OF 3 - 30 OKOI RES IS 
TORS CONNECTED IN SERIES? 

21260 DATA 3 OHMS, 10 OHMS, 33 OHMS, 90 OHMS, 4 
21270 DATA RT=R1+R2+R3 SO RT = 30 + 30 + 30 
90 OHMS. 

21280 DATA WHAT IS THE TOTAL RESISTANCE OF 3 - 30 
STOPS CONNECTED IN PARALLEL? 

21290 DATA 3 OHMS, lO OHMS, 33 OHMS, 90 OHMS, 2 
21300 DATA 1/RT=1/R1 + 1/R2 + 1/R3 SO 
+ 1/30 + 1/30 RT=10. 



WHICH IS 



OHM RES I 



l/RT=l/30 



TABLE OF VARIABLES 



TL 



lOlO 1020 1080 4070 10020 20040 



Q« 

1020 10060 17030 

Al« 

1020 10060 17050 

A2« 

1020 lOO&O 17060 

A3« 

1020 10060 17070 

A4« 

1020 10060 17080 

KE( 

1020 1090 4020 11050 

EX« 

1020 6030 10060 

NA« 

1030 2100 2130 



S« 



1030 2240 4280 4290 6070 



1080 1090 llOO 2010 2030 18010 
18030 19010 19020 



125 



o 

1090 

D 

2040 4160 4200 4240 19010 

L 

2060 2200 6010 6040 17010 17090 
18010 20010 

NX 

4020 lOOlO lOOlO 10020 10030 11050 



C 

4030 4060 4060 4070 

SA 

4100 4110 4110 IIOIO 

HT 

4140 11020 11040 

KE 

10060 llOlO 

N 

15010 15010 20030 



PROGRAM LISTING: MICROSOFT BASIC 

100 REM TEST TUTOR BY GARY 0RWI6 

lOOO REM INITIALIZATION - SET 'TL' EQUAL TO THE NUMBER OF 

PROBLEMS IN YOUR DATA SET. 

lOlO TL = 10 

1020 DIM Q*<TL),A1«<TL),A2*(TL>,A3»(TL),A4*(TL),KE<TL),EX«<T 

L) 

1030 FOR I = 1 TO TL 

1040 READ Q«(I),A1«(I),A2«(I),A3S<I),A4«(I>,KE(I>,EX«(I> 

lOSO NEXT I 

1060 REM USE FULL SCREEN 

1070 POKE 82,0 

1080 CLS 

2000 REM INTRODUCTION 

2010 FOR I = 1 TO 15 

2020 FOR J = 1 TO 50 

2030 NEXT J 

2040 PRINT " TEST TUTOR "; 

2050 IVEXT I 

2060 D = 2500 

2070 60SUB 19000 

2080 L = 12 

2090 GOSUB 18000 

2100 PRINT "WHAT IS YOUR NAME?" 

2110 GOSUB 18000 



126 



2120 INPUT NA* 

2130 PRINT 

2140 PRINT 

2150 PRINT "I'M HAPPY TO MEET YOU, ";NA»;"." 

2160 PRINT 

2170 PRINT 

2180 PRINT "THIS IS A PROGRAM MHICH WILL HELP" 

2190 PRINT "YOU STUDY FOR YOUR TEST! " 

"I WILL ASK YOU QUESTIONS, AND YOU PICK' 
"THE NUMBER OF THE CC«RECT ANSU^R. " 



18000 

"READY? PUSH THE 

"KEY TO BEGIN." 



RETl^N' 



2200 PRINT 

2210 PRINT 

2220 L = 8 

2230 GOSUB 

2240 PRINT 

2250 PRINT 

2260 II«>UT S« 

4000 REM MAIN PROGRAM 

4010 GOSUB lOOOO 

4020 IF KE(NX) = 5 THEN 4060 

4030 C = O 

4040 GOSUB 17000 

4050 GOTO 4090 

406O C »= C + 1 

4070 IF C = TL + 1 THEN 20000 

4080 GOTO 4010 

4090 PRINT "TYPE IN A 1, 2, 3, OR 4"; 

4100 INPUT SA 

41 lO IF SA < 1 

4120 GOSUB 

4130 GOSUB 



4140 



OR SA 
15000 
11000 

THEN 4230 



> 4 THEN 4090 



IF HT = 1 
4150 GOSUB 14000 
4160 D = 1000 
4170 GOSUB 19000 
4180 GOSUB 6000 

4190 PRINT "WE WILL TRY THAT ONE AGAIN LATER! 
4200 D = 1000 
4210 GOSUB 19000 
4220 GOTO 4010 
4230 GOSUB 12000 
4240 D = lOOO 
4250 GOSUB 19000 

4260 PRINT "WOULD YOU LIKE AN EXPLANATION?" 
4270 PRINT "(TYPE IN 'YES' OR 'NO')" 
4280 INPUT S* 
4290 IF S* = "YES" THEN 
4300 GOTO 40 lO 
6000 REM EXPLANATION 
6010 L = 24 
6020 GOSUB 18000 
6030 PRINT EX«(NX) 
6040 L = 12 
6050 GOSUB 18000 
6060 PRINT "PRESS 
6070 INPUT S* 
6080 RETl^N 
lOOOO REM SEQUENCE QUESTIONS 



GOSUB 6000 



RETURN' 



127 



lOOlO 


NX = NX + 1 




10020 


IF NX < TL + 1 


THEN 1005< 


10030 


NX = 




10040 


GOTO lOOlO 




10050 


RETURN 




llOOO 


REM JUDGE ANSWER 


IIOIO 


IF SA = KE(NX) 


THEN 11041 


11020 


HT = O 




11030 


RETURN 




11040 


HT = 1 




11050 


KE(NX) = 5 




11060 


RETURN 




12000 


REM REWARD 




12010 


PRINT 




12020 


PRINT "GREAT!" 




12030 


PRINT 




12040 


RETURN 




14000 


REM WRONG 




14010 


PRINT 




14020 


PRINT "SORRY!" 




14030 


PRINT 




14040 


RETURN 




15000 


REM SCORE KEEPING 


15010 


N = N + 1 




15020 


RETURN 




17000 


REM PRINT OUT 


PROBLEM 


17010 


L = 12 




17020 


GOSUB 18000 




17030 


PRINT Q«(NX} 




17040 


PRINT 




17050 


PRINT " 1. 


";A1«(NX> 


17060 


PRINT " 2. 


";A2*(NX) 


17070 


PRINT " 3. 


";A3»<NX) 


17080 


PRINT " 4. 


";A4«(NX) 



128 



17090 L = 8 

17100 GOSUB 18000 

171 lO RETURN 

18000 REM PRINT LINES 

18010 FOR I = 1 TO L 

18020 PRINT 

18030 NEXT I 

18040 RETURN 

19000 REM DELAY 

19010 FOR I = 1 TO D 

19020 NEXT I 

19030 RETURN 

20000 REM CLOSING 

20010 L = 12 

20020 GOSUB 18000 

20030 PRINT "IT TOOK ";N;" TRIES TO GET" 

20040 PRINT tl;" PROBLEMS CORRECT!" 

20050 END 

21000 REM DATA 

21010 DATA "THE VOLTAGE ACROSS A 5.0 OHM RESISTANCE IS MEASU 

RED TO BE lO.O VOLTS. WHAT IS THE CURRENT THROUGH THE RES I 

STANCE?" 

21020 DATA .5 AMPS, 2 AMPS, 50 AMPS, 15 AMPS, 2 



21030 DATA "V=I»R, SO I=V/R; 1=10/5 = 2 AMPS" 

21040 DATA "THE CURRENT THROUGH A 10.0 OHM RESISTANCE IS ME A 

SURED TO BE 11.0 AMPS. WHAT VOLTAGE IS BEING APPLIED?" 

21050 DATA 21 VOLTS, 1.1 VOLTS, 110 VOLTS,. 9 VOLTS, 3 

21060 DATA "V=I*R, SO V = 11 » 10, WHICH EQUALS llO VOLT 

S" 

21070 DATA "HOW MUCH POWER IS USED BY A CIRCUIT WHICH DR 

AWS 5.0 AMPS OF CURRENT WHEN 20.0 VOLTS ARE APPLIED?" 

21080 DATA 4.0 WATTS, .25 WATTS, 25 WATTS, 100 WATTS, 4 

21090 DATA "P=VI, SO P = 20 * 5, WHICH IS 100 WATTS." 

21100 DATA "WHAT IS THE MINIMUM SIZE FUSE REQUIRED TO SUPPL 

Y CURRENT TO A CIRCUIT WHICH USES 300 WATTS AT 10.0 VOLTS 
?" 

21110 DATA 3000 AMPS, 3 AMPS, .33 AMPS, 30 AMPS, 4 

21120 DATA "P=VI, SO I=P/V; I = 300/10, WHICH IS 30 AMPS. 

ANY SMALLER FUSE WILL BURN OUT. " 
21130 DATA "WHAT IS THE MINIMUM SIZE FUSE REQUIRED TO SUPPL 

Y CURRENT TO A CIRCUIT WHICH USES 300 WATTS AT 100 VOLTS? 



21140 DATA 3000 AMPS, 3 AMPS, .33 AMPS, 30 AMPS, 2 

21150 DATA "I=P/V, SO 1=300/100 WHICH = 3 AMPS. AS VOLTAGE I 
NCREASES, LESS CURRENT IS REQUIRED FOR SAME LEVEL OF POWER." 
21160 DATA "WHAT AMOUNT OF POWER IS CONSUMED BY A RESISTMM 
CE OF lOO OHMS WHEN A CURRENT OF 3 AMPS IS PASSING THROUGH 

IT?" 
21170 DATA 33 WATTS, 300 WATTS, 900 WATTS, 3000 WATTS, 3 
21180 DATA "P=I'^2»R, SO P=3 » 3 * 100, WHICH IS 900 WATTS." 
21190 DATA "HOW MUCH POWER IS USED BY A CABLE WHICH HAS A RE 
SI STANCE OF 2.0 OWIS WHIT A VOLTAGE DROP OF 20.0 VOLTS?" 
21200 DATA 40 WATTS, lO WATTS, 22 WATTS, 200 WATTS, 4 
21210 DATA "P=V'"2/R, SO P = <20 «20) /2, WHICH IS 200 WATT 
S." 

21220 DATA "POWER SUPPLY = 120 VOLTS. WHAT VOLTAGE IS SUPPL I 
ED TO MOTOR IF CURRENT IS lO AMPS AND CABLE RESIS. IS 2 OHMS 



lOO VOLTS, 120 VOLTS, 3 

IN CABLE. 120-20 LE 



21230 DATA 20 VOLTS, SO VOLTS, 

21240 DATA "V=IR SO V=10»2=20 VOLTS LOST 

AVES lOO VOLTS FOR MOTOR." 

21250 DATA "WHAT IS THE TOTAL RESISTANCE OF 3, 

STORS CONNECTED IN SERIES?" 

21260 DATA 3 OHMS, lO OHMS, 33 0HMS,90 OHMS, 4 

21270 DATA "RT=R1+R2+R3, SO RT = 30 + 30 + 30, 

90 OHMS. " 
21280 DATA "WHAT IS THE TOTAL RESISTANCE OF 3, 
STORS CONNECTED IN PARALLEL?" 

21290 DATA 3 OHMS, lO OHMS, 33 OHMS, 90 OHMS, 2 
21300 DATA "1/RT=1/R1 + 1/R2 + 1/R3, SO 
O + 1/30 + 1/30; RT=10. " 



30 



30 



OHM RES I 



WHICH IS 



OHM RES I 



l/RT=l/3 



TABLE OF VARIABLES 

Al«(*} - ANSWER 1 
1020 1040 17050 



A2«(*} - ^VMSWER 2 
1020 1040 17060 



129 



A3*(») - ANSWER 3 
1020 1040 17070 

A4«(«) - ANSWER 4 
1020 1040 17080 

C - NUMBER OF QUESTIONS ANSWERED 
4030 4060 4060 4070 

D - DELAY 

2060 4160 4200 4240 19010 

EX«(*) - EXPLANATIONS 
1020 1040 6030 

HT - HIT 

4140 11020 11040 

I - COUNTER 

1030 1040 1040 1040 1040 1040 
1040 1040 1050 2010 2050 18010 
18030 19010 19020 

J - COUNTER 
2020 2030 

KE(») - KEYS 

1020 1040 4020 IIOIO 11050 

L - LINES OF SCROLLING 

2080 2220 6010 6040 17010 17090 

18010 20010 

N - NUMBER OF TRIES 
15010 15010 20030 

NA« - NAME 
2120 2150 

NX - NUMBER IN SEQUENCE 
4020 6030 10010 10010 10020 
10030 llOlO 11050 17030 17050 
17060 17070 17080 

Q*(») - QUESTIONS 
1020 1040 17030 

S« - STUDENT ANSWER 
2260 4280 4290 6070 

SA - STUDENT ANSWER 
4100 4110 4110 llOlO 

TL - QUESTIONS IN LIST 

lOlO 1020 1020 1020 1020 1020 

1020 1020 1030 4070 10020 20040 

130 END CM=^ VAR. LIST 



SAMPLE RUN 

WHAT IS YOUR NAME? 

?SANDY 

I'M HAPPY TO MEET YOU, SANDY. 



THIS IS A PROGRAM WHICH WILL HELP 
YOU STUDY FOR YOUR TEST! 

I WILL ASK YOU QUESTIONS, AND YOU PICK 
THE NUMBER OF THE CORRECT ANSWER. 



READY? PUSH THE 'RETURN' 
KEY TO BEGIN. 



THE VOLTAGE ACROSS A 5.0 OHM RESISTANCE IS MEASURED TO BE lO 
.O VOLTS. WHAT IS THE CURRENT THROUGH THE RESISTANCE? 

1. .5 AMPS 

2. 2 AMPS 

3. 50 AMPS 

4. 15 AMPS 



TYPE IN A 1, 2, 3, OR 4?2 

GREAT ! 

WOULD YOU LIKE AN EXPLANATION? 
(TYPE IN 'YES' OR 'NO') 
?N0 



THE CURRENT THROUGH A 10.0 OHM RESISTANCE IS MEASUR 

ED TO BE 11.0 AMPS. WHAT VOLTAGE IS BEING APPLIED TO THE 
RESISTANCE? 

1. 21 VOLTS 

2. 1.1 VOLTS 

3. IIO VOLTS 

4. .9 VOLTS 



TYPE IN A 1, 2, 3, OR 4?1 
SORRY ! 

V=I»R, SO V = 11 * 10, WHICH EQUALS 110 VOLTS 131 



PRESS 'RETURN' TO CONTINUE. 

WE WILL TRY THAT ONE AGAIN LATER! 

HOW MUCH POWER IS USED BY A CIRCUIT WHICH DRAWS 5.0 AMP 
S OF CURRENT WHEN 20.0 VOLTS ARE APPLIED? 

1. 4.0 WATTS 

2. .25 WATTS 

3. 25 WATTS 

4. 100 WATTS 



TYPE IN A 1, 2, 3, OR 4?4 
GREAT ! 

WOULD YOU LIKE AN EXPLANATION? 

(TYPE IN 'YES' OR 'NO') 

?YES 

P=VI, SO P = 20 ♦ 5, WHICH IS lOO WATTS. 

PRESS 'RETURN' TO CONTINUE. 



132 




Time, Distance, 
and Velocity 



PROGRAM DESCRIPTION 



This program studies the mathematical relationships between 
time, distance, and velocity. It allows the user to enter values for 
any two variables, and it will then calculate the value of the third 
variable. 

PROGRAM NOTES 

This program is only a shell to work around. Depending on 
your particular application, you may want to use only the 
conversion routines, or you may want to add more instruction and 
de-emphasize these routines. 

If you are really into program-writing, try to allow for the 
input of mixed units such as 3 hours, 15 minutes, and 25 
seconds! 



PROGRAM LISTING: BASIC 

lOO REM Tir« DISTANCE AND VELOCITY BY GARY ORMIG 

500 REM PRINT MESSAGE 

510 PRINT 

520 PRINT "ONE MCH1ENT PLEASE!" 

lOOO REM INITIALIZATION 

lOlO DIM A«(6«15),A<5,5>,B«(7»15),B(6,6) 

1020 DIM AI«(1S),BI«(15) 

1030 DIM NA«(30>,S«(5> 

1040 FOR 1=1 TO 5 

1050 FOR J=l TO 5 

1060 READ A 



133 



1070 A(I,J)=A 

1080 NEXT J 

1090 NEXT I 

llOO LN=1 

lllO FOR 1=1 TO 5*13 

1120 A»(I,I>=" " 

1130 NEXT I 

1140 FOR 1=1 TO 6 

1150 READ AI» 

1160 A«(LN)=AI« 

1170 LN=LN+15 

1180 NEXT I 

1190 FOR 1=1 TO 6 

1200 FOR J=l TO 6 

1210 READ B 

1220 B(I,J}=B 

1230 NEXT J 

1240 NEXT I 

1250 LN=1 

1260 FOR 1=1 TO 6*15 

1270 B*(I,I)=" " 

1280 NEXT I 

1290 FOR 1=1 TO 7 

1300 READ BI« 

1310 BS(LN)=BI« 

1320 LN=LN+15 

1330 NEXT I 

1340 REN USE FULL SCREEN 

1350 POKE 82, O 

1360 PRINT 

2000 REM INTRODUCTION 

2010 FOR 1=1 TO 25 

2020 FOR J=l TO I 

2030 PRINT " "; 

2040 NEXT J 

2050 PRINT "TIME" 

2060 NEXT I 

2070 FOR 1=1 TO 25 

2080 FOR J=l TO I 

2090 PRINT " "; 

2100 NEXT J 

21 lO PRINT "DISTANCE" 

2120 NEXT I 

2130 FOR 1=1 TO 25 

2140 FOR J=l TO I 

2150 PRINT " "; 

2160 NEXT J 

2170 PRINT "VELOCITY" 

2180 NEXT I 

2190 D=200 



2200 


60SUB 


19000 


7710 


L=24 




2220 


GOSUB 


18000 


2230 


PRINT 


"HI ! I 


2240 


PRINT 




2250 


PRINT 


"WHAT 


2260 


L=12 





M HAPPY TO SEE YOU. 

IS YOUR NAME?* 
2260 L=12 

134 



2270 


60SUB 


18000 


2280 


INPUT 


NA« 


2290 


PRINT 


"IT'S NICE TO MEET YOU, "JNA*;"." 


2300 


PRINT 




2310 


PRINT 




2320 


PRINT 


"IN THIS PROGRAM WE ARE GOING TO" 


2330 


PRINT 


"STUDY TIME, DISTANCE, AND" 


2340 


PRINT 


"VELOCITY. " 


2350 


PRINT 




2360 


PRINT 




2370 


PRINT 


"FIRST, LET'S WORK WITH TIME." 


2380 


PRINT 


"TIME CAN BE MEASURED IN A VARIETY" 


2390 


PRINT 


"OF UNITS, INCLUDING SECONDS," 


2400 


PRINT 


"MINUTES, HOURS, AND SO FORTH." 


2410 


PRINT 




2420 


PRINT 


"WE WILL PRACTICE CONVERTING" 


2430 


PRINT 


"VALUES FROM ONE TO ANOTHER FOR" 


2440 


PRINT 


"A BIT JUST TO GET USED TO THEM." 


2450 


PRINT 




2460 


PRINT 




2470 


PRINT 


"PRESS THE 'RETURN' KEY TO CONTINUE." 


2480 


INPUT 


S« 


2490 


L=24 




2500 


60SUB 


18000 


4000 


REM MAIN PROGRAM 


4010 


PRINT 




4020 


PRINT 


"TYPE IN ONE VALUE AND I WII 1 CONVERT 


4030 


PRINT 


"IT FOR YOU!" 


4040 


PRINT 




4050 


PRINT 


"TYPE IN A '0' TO GO ON." 


4060 


PRINT 




4070 


PRINT 




4080 


PRINT 


"CHANGE FROM (PICK A NUMBER)" 


4090 


PRINT 




4100 


60SUB 


9010 


4110 


INPUT 


TU 


4120 


IF TU= 


=0 THEN 5000 


4130 


PRINT 




4140 


PRINT 


"CHANGE FROM " ; A» (TU*15-14,TU*15) 


4150 


PRINT 


"TO" 


4160 


PRINT 


" <PICK A NUMBER) " 


4170 


PRINT 




4180 


60SUB 


9010 


4190 


INPUT 


T2 


4200 


PRINT 




4210 


PRINT 


"CHANGE FROM "; A* (TU*15-14,TU*15) 


4220 


PRINT 


"TO" 


4230 


PRINT 


A* (T2*15-14, T2*15) 


4240 


PRINT 




4250 


PRINT 


"HOW MANY ";A»(TU*15-14,TU»15) 


4260 


INPUT 


TM 


4270 


TX=TM»A(TU,T2) 


4280 


PRINT 




4290 


PRINT 


TM; " " ; A* <TU«15-14, TU*15) 


4300 


PRINT 


"EQUALS ";TX;" ";A«(T2«15-14,T2*15) 


4310 


GOTO 4040 


5000 


REM DISTANCE 



135 



136 



5010 

5020 

5030 

5040 

5050 

5060 

5070 

5080 

5090 

5100 

51 lO 

5120 

5130 

5140 

5150 

5160 

5170 

5180 

5190 

5200 

5210 

5220 

5230 

5240 

5250 

5260 

5270 

5280 

5290 

5300 

5310 

5320 

5330 

5340 

5350 

53&0 

5370 

5380 

5390 

5400 

5410 

5420 

5430 

5440 

5450 

5460 

5470 

5480 

5490 

5500 

5510 

5520 

5530 

6000 

6010 

6020 

6030 



L=24 

GOSUB 18000 



PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

INPUT S« 

L=24 

GOSUB 

PRINT 

PRINT "TYPE 



"DISTANCE IS ALSO MEASURED IN" 
"A VARIETY OF UNITS. " 
"AMONG THEM ARE METRIC UNITS" 
"SUCH AS CENTIMETERS, METERS, AND* 
"KILOMETERS. IN ADDITION, THERE" 
"ARE ENGLISH UNITS SUCH AS FEET" 
"AND MILES." 



"LET'S PRACTICE CONVERTING SOME" 
"DISTANCES BETWEEN THE VARIOUS UNITS." 

"ALTHOUGH IT ISN'T TOO GOOD OF AN" 
"IDEA TO CONVERT BETWEEN ENGLISH AND" 
"METRIC UNITS, I WILL INCLUDE THEM BOTH" 
"FOR YOU TO WORK WITH. " 

"PUSH 'RETURN' TO CONTINUE." 



18000 



'CHANGE FROM <PICK A NUMBER)" 



IN A 
PRINT 
PRINT 
PRINT 
PRINT 

GOSUB 9100 
PRINT 
IW>UT DU 

IF DU=0 THEN 6000 
PRINT 

PRINT "CHANGE FROM 
PRINT "TO" 

PRINT "(PICK A NUMBER)" 
PRINT 

GOSUB 9100 
PRINT 
INPUT D2 
PRINT 
PRINT 
PRINT 



TO GO ON. 



;B«(DU*15-14,DU»15) 



';B«<DU*15-14,DU*1S> 



CHANGE FROM 

TO" 

PRINT B1»(D2*15-14,D2*15) 
PRINT 

PRINT "HOW MANY ";B«(DU*15-14,DU*15) 
INPUT DI 
DX-DI*B(DU,D2) 
PRINT 

PRINT DI;"."SB»<DU»15-14,DU*15) 
PRINT " EQUALS ";DX;" ";B« (D2*15-14,D2*1S) 
GOTO 5240 
REM VELOCITY 
L=24 

GOSUB 18000 
PRINT "NOW LETS WORK WITH VELOCITY." 



6040 

6050 

6060 

6070 

6080 

6090 

6100 

6110 

6120 

6130 

6140 

6 ISO 

6160 

6170 

6180 

6190 

6200 

6210 

6220 

6230 

6240 

6250 

6260 

6270 

6280 

6290 

6300 

7000 

7010 

7020 

7030 

7040 

7050 

7060 

7070 

7080 

7090 

7100 

7110 

7120 

7130 

7140 

7150 

7160 

7170 

7180 

7190 

7200 

7210 

7220 

7230 

7240 

7250 

7260 

7270 

7280 

7290 



"VELOCITY IS THE DISTANCE COVERED" 
"IN A GIVEN UNIT OF TIME." 
"<LIKE 60 MILES PER HOUR)" 



PRINT 

PRINT 

PRINT 

PRINT 

L=10 

60SUB 18000 

PRINT "PUSH 'RETURN' TO CONTINUE. 

INPUT S* 

REM SELECTION 

PRINT 

PRINT 

L=24 

GOSUB 18000 

PRINT 

PRINT "PICK 



PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 



A 
1. 



2. 



3. 



NUMBER. " 

GIVEN TIME AND DISTANCE," 

FIND VELOCITY." 

GIVEN TIME AND VELOCITY," 
FIND DISTANCE." 



GIVEN VELOCITY AND DISTANCE," 
FIND TIME." 

"TYPE IN A 'O' TO GO ON." 
INPUT SA 

IF SA=0 ThEN 20000 
ON SA GOTO 7000,7440,8000 
L=24 

18000 

"FINDING VELOCITY GIVEN" 

"TIME AND DISTANCE" 



"MHICH UNIT FOR TIME (PICK A «) 



GOSUB 

PRINT 

PRINT 

PRINT 

PRINT 

GOSUB 9010 

INPUT TU 

PRINT "ENTER VALUE OF "; A*(TU*1S-14,TU»15) 

INPUT TM 

PRINT "WHICH UNIT FOR DISTANCE (PICK A #) " 

GOSUB 9120 

INPUT DU 

PRINT "ENTER VALUE OF "; B*(DU*13-14,DU*15) 

INPUT DI 

VE=DI/TM 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 



"THE ANSWER IS ";VE?" ";B«(DU»1S-14,DU*15) 
"PER ";A*(TU*1S-14,TU*15) 



"WOULD YOU LIKE THE ANSWER TO BE" 
"CONVERTED TO OTHER UNITS?" 
" (YES OR NO) " 

INPUT S« 

IF S«="YES" THEN 7270 

GOTO 6120 

PRINT 

PRINT "WHAT UNITS OF TIME?" 

GOSUB 9010 



137 



138 



7300 

7310 

7320 

7330 

7340 

7350 

7360 

7370 

7380 

7390 

7400 

7410 

7420 

7430 

7440 

7450 

7460 

7470 

7480 

7490 

7500 

7510 

7520 

7530 

7540 

7550 

75&0 

7570 

7580 

7590 

7600 

7&10 

7620 

7630 

7640 

7650 

7660 

7670 

7680 

7690 

7700 

7710 

7720 

7730 

7740 

7750 

7760 

7770 

7780 

7790 

7800 

7810 

7820 

7830 

8000 

8010 

8020 



INPUT T2 

PRINT "WHICH LMITS OF DISTANCE" 

GOSUB 9120 

INPUT D2 

VX= (DI«B (DU, D2) ) / (TM*A (TU, T2) ) 

PRINT VE;" ";B«(DU*15-14,DU*15) 

PRINT "PER ";A«<TU*15-14,TU«15) 

PRINT "EQUALS:" 

PRINT VX;" ";B»<D2»15-14,D2*15) 

PRINT "PER ";A*(T2»15-14,T2*15) 

PRINT 

PRINT "PUSH RETURN TO CONTINUE 

INPUT S* 

GOTO 6120 

REM FIND DISTANCE 

L=24 

18000 

"FINDING DISTANCE GIVEN" 

"TIME AND VELOCITY" 



GOSUB 
PRINT 
PRINT 
PRINT 
PRINT 
GOSUB 9010 
INPUT TU 
PRINT 



"WHICH UNIT FOR TIME (PICK A «) 



■;A«<TU*15-14,TU»15) 



#)" 



IN UNITS OF' 



'THE ANSWER IS ";DI; 



' ; B* (DU*15-14, DU»15) 



ENTER VALUE OF 
INPUT TM 

PRINT "WHICH UNIT FOR DISTANCE (PICK A 
GOSUB 9120 
Ilvff>UT DU 

PRINT "ENTER VALUE OF VELOCITY 
PRINT B«(DU*15-14,DU*15) 
PRINT "PER ";A«(TU*15-14,TU*15) 
INPUT VE 
DI=VE*TM 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
INPUT S* 
IF S«="YES' 
GOTO 6120 
PRINT 

PRINT "WHAT UNITS OF DISTANCE?" 
GOSUB 9120 
INPUT D2 

DX-(DI*B(DU,D2)) 

PRINT DI;" ";B*(DU*15-14,DU»13) 
PRINT "EQUALS ";DX;" ";B* (D2*15-14,D2»1S) 
PRINT 

PRINT "PUSH 'RETURN' TO CONTINUE." 
INPUT S« 
GOTO 6120 
REM FIND DISTANCE 
L=24 
GOSUB 18000 



'WOULD YOU LIKE THE ANSWER TO BE" 
•CONVERTED TO OTHER UNITS?" 
•(YES OR NO)" 



THEN 7730 



8030 

8040 

8050 

8060 

8070 

8080 

8090 

8100 

81 lO 

81 20 

8130 

8140 

8150 

8160 

8170 

8180 

8190 

8200 

8210 

8220 

8230 

8240 

82SO 

82£>0 

8270 

8280 

8290 

8300 

8310 

8320 

8330 

8340 

8350 

8360 

8370 

8380 

8390 

8400 

9000 

9010 

9020 

9030 

9040 

9050 

9060 

9070 

9080 

9090 

9100 

9110 

9120 

9130 

9140 

9150 

9160 

9170 

9180 



••FINDIN6 TIME SIVEN" 
••DISTANCE AND VELOCITY" 

"WHICH UNIT FOR DISTANCE" 
"(PICK A NUMBER)" 



PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

GOSUB 9120 

INPUT DU 

PRINT "ENTER VALUE OF "5B*<DU*15-14, DU»15> 

INPUT DI 

PRINT "WHICH UNIT FOR TIME (PICK A #) " 

GOSUB 9010 

INPUT TU 

PRINT "ENTER VALUE OF VELOCITY IN UNITS OF" 

PRINT B«(DU«15-14,DU«1S) 

PRINT "PER ";A«(TU«15-14,TU*15) 

INPUT VE 

TM=DI/VE 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 



THE ANSWER IS 



";tm; 



' ; A» (TU*15-14, TU*15) 



"WOULD YOU LIKE THE ANSWER TO BE" 
"CONVERTED TO OTHER UNITS?" 
"(YES OR NO)" 

INPUT S* 

IF S*="YES" THEN 8300 

GOTO 6120 

PRINT 

PRINT "WHAT UNITS OF TIME?" 

GOSUB 9010 

INPUT T2 

TX=(TM»A(TU,T2)) 

PRINT TM;" ";A»(TU*15-14,TU*15) 

PRINT "EQUALS ";TX;" "; A* (T2»15-14,T2*15) 

PRINT 

PRINT "PUSH 'RETURN' TO CONTINUE." 

INPUT S« 

fM}TO 6120 

REM PRINT SUBROUTINES 

REM TIME 

PRINT 

FOR 1=1 TO 5 

BW=I*15-14 

EW=I»15 

PRINT " ";l;". "|A*(BW,EW) 

NEXT I 

PRINT 

RETURN 

REM DISTANCE 

PRINT 

FOR 1=1 TO 6 

Wi*=I»15-14 

EW=I*15 

PRINT " ";ii". ";b*(bw,ew) 

NEXT I 

PRINT 

RETLRN 



139 



18000 

"WE'RE FINISHED, ";NA«;"!" 

"I HOPE YOU HAD A NICE TIME! 

18000 



18000 REM SCROLL 

18010 FOR 1=1 TO L 

18020 PRINT 

18030 NEXT I 

18040 RETURN 

19000 REM DELAY 

19010 FOR K=l TO I 

19020 NEXT K 

19030 RETURN 

20000 REM CLOSING 

20010 L=24 

20020 60SUB 

20030 PRINT 

20040 PRINT 

20050 L=12 

20060 eOSUB 

20070 END 

21000 REM START OF DATA 

21010 DATA l,.01&67,2.778E-4,1.157E-S,3.169E-8 

21020 DATA 60, 1, .01667,6.944E-4, 1 . 901E-6 

21030 DATA 3600,60, 1, .04167, 1 . 141E-4 

21040 DATA 86400, 1440,24, 1 , 2. 738E-3 

21050 DATA 31557600,525960,8766,365.25,1 

2 1 060 DATA SECONDS , M I NUTES , HOURS , DAYS , YEARS , EOF 

21070 DATA 1, . 1, .OOl, l.OE-6, 3. 28084E-3,6.2137E-7 

21080 DATA 10, 1 , .01 , 1 .OE-5,3. 28084E-2,6.2137E-6 

21090 DATA 1000, 100, 1 , .001 , 3. 28084,6. 2137E-4 

21 100 DATA 1000000, 100000, 1000, 1 , 3280. 84, . 62137 

21110 DATA 304.8,30.48,.3048,3.048E-4,l,1.894E-4 

21 120 DATA 1609300, 160930, 1609. 3, 1 . 6093, 5280, 1 

21130 DATA MILLIMETERS, CENTIMETERS, METERS, KILOMETERS, FEET, MI 

LES,EOF 



TABLE OF VARIABLES 



A« 



lOlO 


1120 


1160 


4140 


4210 


4230 


4250 


4290 


4300 


7080 


7190 


7360 


7390 


7530 


7600 


8170 


8220 


8350 


8360 


9060 











A( 



1010 1 070 4270 7340 8340 



B« 



lOlO 


1270 


1310 


5350 


5430 


5450 


5470 


5510 


5520 


7130 


7180 


7350 


7380 


7590 


7650 


7780 


7790 


8100 


8160 


9150 











B( 



10 lO 1220 5490 7340 7770 



140 



AI« 

1020 1150 1160 



BI« 












1020 


1300 


1310 








NA« 












1030 


2280 


2290 


20030 






S« 












1030 


2480 


5210 


6110 


7240 


7250 


7420 


7700 


7710 


7820 


8270 


8280 


8390 












I 

1040 


1070 


1090 


lllO 


1120 


1120 


1130 


1140 


1180 


1190 


1220 


1240 


1260 


1270 


1270 


1280 


1290 


1330 


2010 


2020 


2060 


2070 


2080 


2120 


2130 


2140 


2180 


9030 


9040 


9050 


9060 


9070 


9120 


9130 


9140 


9150 


9160 


18010 


18030 








J 

1050 


1070 


1080 


1200 


1220 


1230 


2020 


2040 


2080 


2100 


2140 


2160 



1060 1070 



LN 



B 



llOO 1160 1170 1170 1250 1310 
1320 1320 



1210 1220 



2190 19010 



22 lO 2260 2490 5010 5220 6010 
6080 6150 7000 7450 SO 10 18010 
20010 20050 



TU 



T2 



4110 


4120 


4140 


4140 


4210 


4210 


4250 


4250 


4270 


4290 


4290 


7070 


7080 


7080 


7190 


7190 


7340 


7360 


7360 


7520 


7530 


7530 


7600 


7600 


8140 


8170 


8170 


8220 


8220 


8340 


83bO 


8350 










4190 


4230 


4230 


4270 


4300 


4300 


7300 


7340 


7390 


7390 


8330 


8340 


8360 


8360 











141 



4260 


4270 


4290 


7090 


7150 


7340 


7540 


7620 


8190 


8220 


8340 


8350 


TX 












4270 


4300 


8340 


8360 






DU 












5320 


5330 


5350 


5350 


5430 


5430 


5470 


5470 


5490 


5510 


55 lO 


7120 


7130 


7130 


7180 


7180 


7340 


7350 


7350 


7570 


7590 


7590 


7650 


7650 


7770 


7780 


7780 


8090 


8100 


8100 


8160 


8160 










D2 












5410 


5450 


5450 


5490 


5520 


5520 


7330 


7340 


7380 


7380 


7760 


7770 


7790 


7790 










DI 












5480 


5490 


5510 


7140 


7150 


7340 


7620 


7650 


7770 


7780 


8110 


8190 



142 



DX 

5490 5520 7770 7790 

SA 

6280 6290 6300 

VE 

7150 7180 7350 7610 7620 8180 
8190 

VX 

7340 7380 

BW 

9040 9060 9130 9150 

EW 

9050 9060 9140 9150 

K 

19010 19020 



PROGRAM LISTING: MICROSOFT BASIC 

lOO REM TIME DISTANCE AND VELOCITY BY GARY ORWIG 

lOOO REM INITIALIZATION 

lOlO DIM A«(5),A(5,5),B«<6),B<6,6) 

1020 FOR I = 1 TO 5 

1030 FOR J = 1 TO 5 

1040 READ A (I, J) 



1050 NEXT J 

1060 NEXT I 

1070 FOR I = 1 TO 5 

1080 READ A«(I) 

1090 NEXT I 

llOO FOR I = 1 TO 6 

1110 FOR J = 1 TO 6 

1120 READ B(I,J) 

1130 NEXT J 

1140 NEXT I 

1150 FOR I = 1 TO 6 

1160 READ B«(I) 

1170 NEXT I 

1180 REM USE FULL SCREEN 

1190 POKE 82,0 

1200 CLS 

2000 REM INTRODUCTION 

2010 D = 20 

2020 FOR I = 1 TO 25 

2030 FOR J = 1 TO I 

2040 PRINT " "; 

2050 NEXT J 

2060 PRINT "TIME" 

2070 60SUB 19000 

2080 NEXT I 

2090 FOR I = 1 TO 25 

2100 FOR J = 1 TO I 

21 lO PRINT " "; 

2120 NEXT J 

2130 PRINT "DISTANCE" 

2140 60SUB 19000 

2150 NEXT I 

2160 FOR I = 1 TO 25 

2170 FOR J = 1 TO I 

2180 PRINT " "; 

2190 NEXT J 

2200 PRINT "VELOCITY" 

2210 GOSUB 19000 

2220 NEXT I 

2230 D = lOOO 

2240 GOSUB 19000 

2250 L = 24 

2260 GOSUB 18000 

2270 PRINT "HI! I'M HAPPY TO SEE YOU." 

2280 PRINT 

2290 PRINT "WHAT IS YOUR NAME?" 

2300 L = 12 

23 lO GOSUB 18000 

2320 INPUT NA* 

2330 PRINT "IT'S NICE TO MEET YOU, ";NA«;"." 

2340 PRINT 

2350 PRINT 

2360 PRINT "IN THIS PROGRAM WE ARE GOING TO' 

2370 PRINT "STUDY TIME, DISTANCE, AND" 

2380 PRINT "VELOCITY. 

2390 PRINT 

2400 PRINT 



143 



144 



2410 

2420 

2430 

2440 

2450 

2460 

2470 

2480 

2490 

2500 

2510 

2520 

2530 

2540 

4000 

4010 

4020 

4030 

4040 

4050 

4060 

4070 

4080 

4090 

4100 

4110 

4120 

4130 

4140 

4150 

4160 

4170 

4180 

4190 

4200 

4210 

4220 

4230 

4240 

4250 

4260 

4270 

4280 

5000 

5010 

5020 

5030 

5040 

5050 

5060 

5070 

5080 

5090 

5100 

5110 

5120 

5130 



"FIRST, LET'S WORK WITH TIME." 
"TIME CAN BE I^ASURED IN A VARIETY" 
"OF UNITS, INCLUDING SECONDS," 
"MINUTES, HOURS, AND SO FORTH." 

"WE WILL PRACTICE CONVERTING" 
"VALUES FROM ONE TO ANOTHER FOR" 
"A BIT JUST TO GET USED TO ThEM. " 



"PRESS THE 'RETURN' KEY. 



PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

INPUT S* 

L = 24 

GOSUB 18000 

REM MAIN PROGRAM 

PRINT 

"TYPE IN ONE VALUE AND 

"IT FOR YOU!" 



I WILL CONVERT" 



•TYPE IN A 



TO GO ON. 



PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT "CHANGE FROM (PICK A NUMBER) 

PRINT 

GOSUB 9010 

INPUT TU 

IF TU = O THEN 5000 

PRINT 

PRINT "CHANGE FROM ";A«<TU);" TO" 

PRINT "(PICK A NUMBER)" 

PRINT 

GOSUB 9010 

INPUT T2 

PRINT 

PRINT "CHANGE FROM ";A*(TU);" TO" 

PRINT A«(T2);"." 

PRINT 

PRINT "HOW MANY ";A»(TU);"?" 

INPUT TM 

TX = TM * A(TU,T2) 

PRINT 

PRINT TM;" ";A«(TU)5" EQUALS ";TX; 

GOTO 4040 

REM DISTANCE 

L = 24 

GOSUB 18000 

"DISTANCE IS ALSO MEASURED IN" 
"A VARIETY OF UNITS." 
"AMONG THEM ARE METRIC UNITS" 
"SUCH AS CENTIMETERS, METERS, AND 
"KILOMETERS. IN ADDITION, THERE" 
"ARE ENGLISH UNITS SUCH AS FEET" 
"AND MILES. 



"JA*(T2); 



PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 



"LET'S PRACTICE CONVERTING SOME" 
"DISTANCES BETWEEN THE VARIOUS UNITS." 



5140 

5150 

5160 

5170 

5180 

5190 

5200 

5210 

5220 

5230 

5240 

5250 

5260 

5270 

5280 

5290 

5300 

5310 

5320 

5330 

5340 

5350 

5360 

5370 

5380 

5390 

5400 

5410 

5420 

5430 

5440 

5450 

5460 

5470 

5480 

5490 

5500 

6000 

6010 

6020 

6030 

6040 

6050 

6060 

6070 

6080 

6090 

6100 

6110 

6120 

61 30 

6140 

6150 

6160 

6170 

6180 

6190 



PRINT 

PRINT "ALTHOUGH IT ISN'T TOO GOOD OF AN" 

"IDEA TO CONVERT BETWEEN ENGLISH AND" 
"METRIC UNITS, I WILL INCLUDE THEM BOTH" 
"FOR YOU TO WORK WITH." 



PUSH THE 'RETURN' KEY." 



'TYPE IN A 



TO GO ON." 



"CHANGE FROM <PICK A NUMBER) 



PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

INPUT S« 

L = 24 

GOSUB 18000 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

GOSUB 9080 

PRINT 

INPUT DU 

IF DU = O THEN 6000 

PRINT 

PRINT "CHMMGE FROM ";B»<DU);" TO" 

PRINT ■• (PICK A NUMBER) " 

PRINT 

GOSUB 9080 

PRINT 

INPUT D2 

PRINT 

PRINT "CHANGE FROM ";B«(DU);" TO" 

PRINT B«(D2);"." 

PRINT 

PRINT "HOW MANY ";B*(DU);"?" 

INPUT DI 

DX = DI » B(DU,D2) 

PRINT 

PRINT Dl;" ";B»<DU);" equals "jDX; 

GOTO 5240 

REM VELOCITY 

L = 24 

GOSUB 18000 

PRINT "NOW LETS WORK WITH VELOCITY 

PRINT 

PRINT 

PRINT 

PRINT 

L = 10 

GOSUB 18000 

PRINT "PUSH THE 

INPUT S* 

REM SELECTION 

PRINT 

PRINT 

L = 24 

GOSUB 18000 

PRINT 

PRINT "PICK A NUMBER." 

PRINT " 1. GIVEN TIME AND DISTANCE," 



;B«(D2); 



"VELOCITY IS THE DISTANCE COVERED' 
"IN A GIVEN UNIT OF TIME." 
" (LIKE 60 MILES PER HOUR) " 



'RETURN' KEY." 



145 



146 



6200 
6210 
6220 
6230 
6240 
6250 
6260 
(y270 
6280 
6290 
6300 
7000 
7010 
7020 
7030 
7040 
7050 
7060 
7070 

7oao 

7090 
7100 
7110 
7120 
7130 
7140 
7150 
7160 
7170 
7180 
7190 
7200 
7210 
7220 
7230 
7240 
7250 
7260 
7270 
72B0 
7290 
7300 

73 lO 
7320 
7330 
7340 
7350 
7360 
7370 
7380 
7390 
7400 

74 lO 
7420 
7430 
7440 
7450 



PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 



FIND VELOCITY." 

GIVEN TIME AND VELOCITY," 
FIND DISTANCE." 



3. GIVEN VELOCITY AND DISTANCE," 
FIND TIME." 

"TYPE IN A 'O' TO GO ON." 
INPUT SA 

IF SA = O THEN 20000 
ON SA GOTO 7000,7410,8000 
L = 24 
GOSUB 18000 

"FINDING VELOCITY GIVEN" 

"TIME AND DISTANCE" 



PRINT 

PRINT 

PRINT 

PRINT 

GOSUB 9010 

INPUT TU 

PRINT 



WHICH UNIT FOR TIME (PICK A #) 



;a«(TU}; 



"ENTER VALUE OF 
DI 

/ TM 



"J^E. ANSWER IS 
"PER ";A*(TU);' 



";b«(DU}; 



"ENTER VALUE OF 
INPUT TM 

PRINT "WHICH UNIT FOR DISTANCE<PICK A #) 
GOSUB 9100 
INPUT DU 
PRINT 
IW>UT 
VE = DI 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 



;ve; 



';b«(DU} 



WOULD YOU LIKE THE ANSWER TO BE' 
CONVERTED TO OTHER UNITS?" 
(YES OR NO) " 



THEN 7270 



INPUT S* 

IF S» = "YES' 

GOTO 6120 

PRINT 

PRINT "WHAT UNITS OF TIME?" 

GOSUB 9010 

INPUT T2 

PRINT "WHICH UNITS OF DISTANCE" 

GOSUB 9100 

INPUT D2 

VX = (DI ♦ B(DU,D2)) / (TM * A(TU,T2)) 

PRINT VE; " " ; B* (DU) ; " PER " ; A* (TU) ; " EQUALS: 

PRINT VXi" ";B»(D2);" PER ";A»(T2);"." 

PRINT 

PRINT "PUSH THE 'RETURN' KEY." 

INPUT S* 

GOTO 6120 

REM FIND DISTANCE 

L = 24 

GOSUB 18000 

PRINT "FINDING DISTANCE GIVEN" 

PRINT "TIME AND VELOCITY" 



7460 PRINT 

7470 PRINT "WHICH UNIT FOR Tir« (PICK A #) " 

7480 GOSUB 9010 

7490 INPUT TU 

7500 PRINT "ENTER VALUE OF ";A*(TU)5"." 

7510 INPUT TM 

7520 PRINT "WHICH UNIT FOR DISTANCE(PICK A «) " 

7530 GOSUB 9100 

7S40 INPUT DU 

7550 PRINT "ENTER VALUE OF VELOCITY IN UNITS OF" 

7560 PRINT B«(DU>;" PER "; A«<TU) ; ". " 

7570 INPUT VE 

7580 DI = VE ♦ TM 

7590 PRINT 

7AOO PRINT 

7610 PRINT "THE ANSWER IS ";DI;" ";B»(DU) ; ". " 

7620 PRINT 

7630 PRINT "WOULD YOU LIKE THE ANSWER TO BE" 

7640 PRINT "CONVERTED TO OTHER UNITS?" 

7650 PRINT "<YES OR NO)" 

7660 INPUT S* 

7670 IF S» = "YES" THEN 7690 

7680 GOTO 6120 

7690 PRINT 

7700 PRINT "WHAT UNITS OF DISTANCE?" 

77 lO GOSUB 9100 

7720 INPUT D2 

7730 DX = (DI » B(DU,D2)) 

7740 PRINT DI;" ";B*(DU) 

7750 PRINT "EQUALS ";DX;" ";B«(D2);"." 

7760 PRINT 

7770 PRINT "PUSH THE 'RETURN' KEY." 

7780 INPUT S« 

7790 GOTO 6120 

aOOO REM FIND DISTANCE 

8010 L = 24 

8020 GOSUB 18000 

8030 PRINT "FINDING TIME GIVEN" 

8040 PRINT "DISTANCE AND VELOCITY" 

8050 PRINT 

8060 PRINT "WHICH UNIT FOR DISTANCE" 

8070 PRINT "(PICK A NUMBER)" 

8080 GOSUB 9100 

8090 INPUT DU 

8100 PRINT "ENTER VALUE OF "S B*(DU) J "- " 

8110 INPUT DI 

8120 PRINT "WHICH UNIT FOR TIME (PICK A #) " 

8130 GOSUB 9010 

8140 INPUT TU 

8150 PRINT "ENTER VALUE OF VELOCITY IN UNITS OF* 

8160 PRINT B«(DU);" PER ";A*(TU);"." 

8170 INPUT VE 

8180 TM = DI / VE 

8190 PRINT 

8200 PRINT 

8210 PRINT "THE ANSWER IS ";TM;" ";A*(TU);"." 

8220 PRINT 



147 



8230 PRINT "WOULD YOU LIKE THE ANSWER TO BE' 

8240 PRINT "CONVERTED TO OTHER UNITS?" 

8250 PRINT "(YES OR NO) " 

8260 INPUT 3% 

8270 IF S» = "YES" THEN 8290 

8280 60T0 6120 

8290 PRINT 

8300 PRINT "WHAT UNITS OF TIME?" 

83 lO GOSUB 9010 

8320 INPUT T2 

8330 TX = (TM * A(TU,T2)) 

8340 PRINT TM;" ";At»(TU) 

8350 PRINT "EQUALS ";TX;" ";A«(T2);"." 

8360 PRINT 

8370 PRINT "PUSH THE 'RETURN' KEY." 

8380 INPUT S* 

8390 SOTO 6120 

9000 REM PRINT SUBROUTINES 

9010 REM TIME 

9020 PRINT 

9030 FOR I = 1 TO 5 

9040 PRINT " ";i;". ";A«(i) 

9050 NEXT I 

9060 PRINT 

9070 RETURN 

9080 REM DISTANCE 

9090 PRINT 

9100 FOR I = 1 TO 6 

9110 PRINT " ";l|". ";B*(I) 

9120 NEXT I 

9130 PRINT 

9140 RETURN 

18000 REM SCROLL 

FOR I = 1 TO L 

PRINT 

NEXT I 

RETURN 

REM DELAY 

FOR K = 1 TO D 

NEXT K 

RETURN 

REM CLOSING 

L = 24 

GOSUB 18000 

PRINT "WE'RE FINISHED, 



148 



18010 
18020 
18030 
18040 
19OO0 
19010 
19020 
19030 
20000 
20010 
2OO20 
20030 
20040 
20050 
20060 
20070 
21000 
21010 
21020 
21030 
21040 
21050 
21060 
21070 



PRINT "I HOPE YOU HAD A 

L = 12 

GOSUB 18000 

END 

DATA 

DATA 

DATA 

DATA 

DATA 

DATA 

DATA 

DATA 



•;na»;"!" 

NICE TIME! 



1 , . 01667, 2. 778E-4, 1 . 157E-5, 3. 169E-8 

60,1,. 01667, 6. 944E-4,1.901E-6 

3600,60, 1, .04167, 1. 141E-4 

86400, 1440, 24, 1 , 2. 738E-3 

3 1 557600 , 525960 , 8766 , 365 . 25 , 1 

SECONDS, MINUTES, HOURS, DAYS, YEARS 

1 , . 1 , . 001 , 1 . OE-6, 3. 28084E-3, 6. 2137E-7 

10, 1 , . 01 , 1 . OE-5, 3. 28084E-2, 6. 2137E-6 



21080 DATA 1000, 100, 1, .001, 3.28084,6. 2137E-4 

21090 DATA 1000000, 100000, 1000, 1,3280.84, .62137 

21 100 DATA 304. 8, 30. 48, . 3048, 3. 048E-4, 1,1. 894E-4 

21 1 10 DATA 1609300, 160930, 1609. 3, 1 . 6093, 5280, 1 

21120 DATA MILL I METERS, CENT I METERS, METERS, KILOMETERS, FEET, H 

ILES 



TABLE OF VARIABLES 

A*(*) - TIME UNITS 

1010 1080 4140 4200 4210 4230 

4270 4270 7080 7190 7350 7360 

7500 7560 8160 8210 8340 8330 

9040 

A(*,*) - TIME CONVERSIONS 
10 lO 1040 4250 7340 8330 

B«(*) - DISTANCE UNITS 

lOlO 1160 5350 5420 3430 5450 

5490 5490 7130 7 ISO 7350 7360 

7560 76 lO 7740 7750 8100 8160 

9110 

B(*,») - DISTANCE CONVERSIONS 
lOlO 1120 5470 7340 7730 

D - DELAY 

2010 2230 19010 

D2 - DISTANCE UNIT CONVERTED TO 
5400 5430 5470 5490 7330 7340 
7360 7720 7730 7750 

DI - VALUE OF DU 

5460 5470 5490 7140 7150 7340 

7580 76 lO 7730 7740 8110 8180 

DU - DISTANCE UNIT STARTED WITH 
5320 5330 5350 5420 5450 5470 
5490 7120 7130 7180 7340 7350 
7540 7560 7610 7730 7740 8090 
8100 8160 

DX - VALUE OF D2 
5470 5490 7730 7750 

I - COUNTER 

1020 1040 1060 1070 1080 1090 

llOO 1120 1140 1150 1160 1170 

2020 2030 2080 2090 2100 2150 

2160 2170 2220 9030 9040 9040 

9050 9100 9110 9110 9120 18010 

18030 

J - COUNTER 



149 



150 



1030 1040 lOSO 1110 1120 1130 
2030 2050 2100 2120 2170 2190 

K - COUNTER 
19010 19020 

L - LINES FOR SCROLL I N6 
2250 2300 2530 5010 5220 60 lO 
6080 6150 7000 7420 8010 18010 
20010 20050 

NA« - NAME 
2320 2330 20030 

S* - STUDENT ANSWER 

2520 5210 6110 7240 7250 7390 

7660 7670 7780 8260 8270 8380 

SA - STUDENT ANSWER 
6280 6290 6300 

T2 - TIME UNIT CONVERTED TO 
4180 4210 4250 4270 7300 7340 
7360 8320 8330 8350 

TM - VALUE OF TU 

4240 4250 4270 7090 7150 7340 

75 lO 7580 8 ISO 8210 8330 8340 

TU - TIME UNIT STARTED WITH 

41 lO 4120 4140 4200 4230 4250 

4270 7070 70a0 7190 7340 7350 

7490 7500 7560 8140 8160 82 lO 
8330 8340 

TX - VALUE OF T2 
4250 4270 8330 8350 

VE - VELOCITY 

7150 7180 7350 7570 7580 8170 

8180 

VX - VELOCITY AFTER CONVERSION 
7340 7360 

END OF VAR. LIST 



SAMPLE RUN 

HI! I'M HAPPY TO SEE YOU. 

WHAT IS YOUR NAME? 



?JOHN 

IT'S NICE TO MEET YOU, JOHN. 



IN THIS PROGRAM WE ARE GOING TO 
STUDY TIME, DISTANCE, AND 
VELOCITY. 



FIRST, LET'S WORK WITH TIME. 
TIME CAN BE MEASURED IN A VARIETY 
OF UNITS, INCLUDING SECONDS, 
MINUTES, HOURS, AND SO FORTH. 

WE WILL PRACTICE CONVERTING 
VALUES FROM ONE TO ANOTHER FOR 
A BIT JUST TO GET USED TO THEM. 



PRESS THE 'RETURN' KEY TO CONTIlvft^. 



TYPE IN ONE VALUE AND I WILL CONVERT 
IT FOR YOU! 

TYPE IN A 'O' TO GO ON. 



CHANGE FROM (PICK A NUMBER) 



1. SECONDS 

2. MINUTES 

3. HOURS 

4. DAYS 

5. YEARS 

?3 

CHANGE FROM HOURS TO 
<PICK A NUMBER) 



1. SECONDS 

2. MINUTES 

3. HOURS 

4. DAYS 

5. YEARS 

?1 

CHANGE FROM HOURS TO 
SECONDS. 

HOW MANY HOURS? 
72 



2 HOURS EQUALS 7200 SECONDS. 

151 



TYPE IN A 'O' TO GO ON. 



CHANGE FROM (PICK A NUMBER) 



1. SECONDS 

2. MINUTES 

3. HOURS 

4. DAYS 

5. YEARS 

?o 



DISTANCE IS ALSO MEASURED IN 
A VARIETY OF UNITS. 
AMONG THEM ARE METRIC UNITS 
SUCH AS CENTIMETERS, METERS, AND 
KILOMETERS. IN ADDITION, THERE 
ARE ENGLISH UNITS SUCH AS FEET 
AND MILES. 



LET'S PRACTICE CONVERTING SOME 
DISTANCES BETWEEN THE VARIOUS UNITS. 

ALTHOUGH IT ISN'T TOO GOOD OF AN 
IDEA TO CONVERT BETWEEN ENGLISH AND 
METRIC UNITS, I WILL INCLUDE THEM BOTH 
FOR YOU TO WORK WITH. 

PUSH 'RETURN' TO CONTINUE. 



TYPE IN A 'O' TO GO ON. 



CHANGE FROM (PICK A NUMBER) 



1. MILLIMETERS 

2. CENTIMETERS 

3. METERS 

4. KILOMETERS 

5. FEET 

6. MILES 



?2 

CHANGE FROM CENTIMETERS TO 
(PICK A NUMBER) 



152 



1. MILLIMETERS 

2. CENTIMETERS 

3. METERS 

4. KILOMETERS 

5. FEET 

6. MILES 



?3 

CHANGE FROM CENTIMETERS TO 
METERS. 

HOW MANY CENTIMETERS? 
7350 

350 CENTIMETERS EQUALS 3.5 METERS. 

TYPE IN A 'O' TO GO ON. 

CHANGE FROM (PICK A NUMBER) 



1- MILLII«TERS 

2. CENTIMETERS 

3. METERS 

4. KILOMETERS 

5. FEET 
6- MILES 



?o 



NOW LETS WORK WITH VELOCITY. 

VELOCITY IS THE DISTANCE COVERED 
IN A GIVEN UNIT OF TIME. 
(LIKE 60 MILES PER HOUR) 



PUSH 'RETURN' TO CONTINUE. 

•7 



PICK A NUMBER. 

1. GIVEN TIME AND DISTANCE, 
FIND VELOCITY. 

2. GIVEN TIME AND VELOCITY, 
FIND DISTANCE. 



153 



3. GIVEN VELOCITY AND DISTANCE, 
FIND TIME. 
TYPE IN A 'O' TO GO ON. 
?1 



FINDING VELOCITY GIVEN 
TIME AND DISTANCE 

WHICH UNIT FOR TIME (PICK A #) 

1. SECONDS 

2. MINUTES 

3. HOURS 

4. DAYS 

5. YEARS 

?3 

ENTER VALUE OF HOURS. 

?3 

WHICH UNIT FOR DISTANCE (PICK A «) 

1. MILLIMETERS 

2. CENTIMETERS 

3. METERS 

4. KILOMETERS 

5. FEET 
b. MILES 

?6 

ENTER VALUE OF MILES. 

?250 



THE ANSWER IS 83.3333334 MILES 
PER HOURS. 

WOULD YOU LIKE THE ANSWER TO BE 
CONVERTED TO OTHER UNITS? 
(YES OR NO) 
?YES 

WHAT UNITS OF TIME? 

1. SECONDS 

2. MINUTES 

3. HOURS 

4. DAYS 

5. YEARS 

?1 

WHICH UNITS OF DISTANCE 

1. MILLIMETERS 

2. CENTIMETERS 

3. METERS 

4. KILOMETERS 

5. FEET 

6. MILES 
154 



?3 

83.3333334 MILES PER HOURS EQUALS: 

37.2523148 METERS PER SECONDS. 

PUSH 'RETURN' TO CONTINUE. 

•7 



PICK A NUMBER. 

1. GIVEN TIME AND DISTANCE, 
FIND VELOCITY. 

2. GIVEN TIME AND VELOCITY, 
FIND DISTANCE. 

3. GIVEN VELOCITY AND DISTANCE, 
FIND TIME. 

TYPE IN A 'O' TO GO ON. 
?0 



WE'RE FINISHED, JOHN! 

I HOPE YOU HAD A NICE TIME! 



155 




Too High 
Too Low 



PROGRAM DESCRIPTION 

This program exercises the concept of decimals with multipH- 
cation and the abiUty to memorize a range of numbers. The 
computer thinks of a number and you try to guess it. Each time 
you guess incorrectly, the computer gives you helpful hints. Be 
warned, however, that not all the hints are easy, and some of them 
may require you to use your multiplication skills. 

PROGRAM NOTES 

1. Changing the "1000" in line 10010 will change the maximum 
number possible. A smaller number like 100 might be better 
for younger children. 

2. For more advanced students, consider truncating variable "D" 
at two decimal places, instead of just one. This would involve 
lines 4100, 1 1030, and 1 1060. The result would be something 
like: "Your answer is about 1.02 times too high." 



PROGRAM LISTING: BASIC 

lOO REM TOO HI6H-TOO LOW BY GARY ORWIG 

lOOO REM INITIALIZATION 

lOlO DIM NA«(40) 

1020 DIM RS«(20> 

1030 REM USE FULL SCREEN 

1040 POKE 82, O 

1050 PRINT 



156 



2000 REM INTRODUCTION 

2010 FOR 1=1 TO 24 

2020 PRINT 

2030 NEXT I 

2040 PRINT "HELLO! I'M HAPPY TO SEE YOU!" 

2050 PRINT "WHAT IS YOUR NAME"; 

2060 INPUT NA« 

2070 PRINT "I HOPE YOU HAVE A NICE TIME," 

2080 PRINT NA*;"." 

2090 PRINT 

2100 PRINT 

2110 PRINT "THIS GAME IS VERY EASY TO EXPLAIN." 

2120 PRINT "I WILL THINK OF A NUMBER, AND" 

2130 PRINT "IT WILL BE YOUR JOB TO GUESS IT." 

2140 PRINT 

2150 PRINT 

2160 FOR DE=1 TO lOOO 

2170 NEXT DE 

2180 PRINT "HERE WE GO!" 

2190 PRINT 

2200 PRINT 

2210 PRINT 

4000 REM MAIN PROGRAM 

4010 GOSUB lOOOO 

4020 PRINT "I AM THINKING OF A NUMBER." 

4030 PRINT "TYPE IN YOUR GUESS!" 

4040 INPUT SA 

4050 N=N+1 

4060 IF SAOO THEN 4090 

4070 PRINT "NO, I'M NOT THINKING OF O, TRY AGAIN!" 

4080 GOTO 4040 

4090 GOSUB llOOO 

4100 IF D=l THEN 4140 

4110 PRINT "YOUR GUESS IS ABOUT ";D 

4120 PRINT "TIMES TOO ";RS*i"!" 

4130 GOTO 4170 

4140 PRINT "YOU ARE CLOSE, ";NA«S"!" 

4150 PRINT "BUT YOUR GUESS IS" 

4160 PRINT "A BIT TOO ";RS»;"." 

4170 PRINT "GUESS AGAIN. " 

4180 PRINT 
4190 PRINT 

4200 PRINT 

42 lO GOTO 4030 

lOOOO REM RANDOMIZING 

lOOlO C=INT(RND(0)*1000)+1 

10020 RETURN 

llOOO REM JUDGE ANSWER 

IIOIO IF SA=C THEN 12000 

11020 IF SA<C THEN 11060 

11030 D=INT<SA*10/C)/10 

11040 RS*="HIGH" 

11050 RETURN 

11060 D=INT(C«10/SA)/10 

11070 RS*="LOW" 

11080 RETURN 

12000 REM REWARD 



157 



12010 FOR 1=1 TO 11 

12020 PRINT 

12030 NEXT I 

12040 PRINT "YOU FOUND MY NUMBER" 

12050 PRINT "IN ";N;" TRIES, ";NA*;"!" 

12060 FOR 1=1 TO 11 

12070 PRINT 

12080 NEXT I 

12090 END 



TABLE OF VARIABLES 

NA« 

1010 2060 2080 4140 12050 

RS* 

1020 4120 4160 11040 11070 



2010 2030 12010 12030 12060 12080 



DE 



2160 2170 



SA 



4040 4060 IIOIO 11020 11030 11060 



N 



D 



4050 4050 12050 



4100 41 lO 11030 11060 



lOOlO 11010 11020 11030 11060 



PROGRAM LISTING: MICROSOFT BASIC 



158 



100 REM TOO HIGH-TOO LOW BY GARY ORWIG 

SOO REM RESEED RND 

510 RANDOMIZE 

lOOO REM INITIALIZE 

lOlO REM USE FULL SCREEN 

1020 POKE 82, O 

2000 REM INTRODUCTION 

2010 FOR I = 1 TO 24 

2020 PRINT 

2030 NEXT I 

2040 PRINT "HELLO! I'M HAPPY TO SEE YOU!" 

2050 PRINT "WHAT IS YOUR NAME"; 

2060 INPUT NA« 

2070 PRINT "I HOPE YOU HAVE A NICE TII«E, " 

2080 PRINT NA*;"." 



2090 PRINT 

2100 PRINT 

2110 PRINT "THIS GAME IS VERY EASY TO EXPLAIN." 

2120 PRINT "I WILL THINK OF A NUMBER, AND" 

2130 PRINT "IT WILL BE YOUR JOB TO GUESS IT." 

2140 PRINT 

2150 PRINT 

2160 FOR DE = 1 TO 5000 

2170 NEXT DE 

2180 PRINT "HERE WE GO!" 

2190 PRINT 

2200 PRINT 

2210 PRINT 

4000 REM MAIN PROGRAM 

4010 GOSUB lOOOO 

4020 PRINT "I AM THINKING OF A NUMBER." 

4030 PRINT "TYPE IN YOUR GUESS!" 

4040 IINB»UT SA 

4050 N = N + 1 

4060 IF SA < > O THEN 4090 

4070 PRINT "NO, I'M NOT THINKING OF O, TRY AGAIN! 

4080 GOTO 4040 

4090 GOSUB llOOO 

4100 IF D = l.O THEN 4140 

4110 PRINT "YOUR GUESS IS ABOUT ";D 

4120 PRINT "TIMES TOO ";RS*;"!" 

4130 GOTO 4170 

4140 PRINT "YOU ARE CLOSE, ";NA*;"!" 

4 ISO PRINT "BUT YOUR GUESS IS" 

4160 PRINT "A BIT TOO ";RS*;"." 

4170 PRINT "GUESS AGAIN." 

4180 PRINT 

4190 PRINT 

4200 PRINT 

4210 GOTO 4030 

lOOOO REM RANDOMIZING 

lOOlO C = RNDdOOO) 

10020 RETURN 

llOOO REM JUDGE ANSWER 

IIOIO IF SA = C THEN 12000 

11020 IF SA < C THEN 11060 

11030 D = INT (SA » 10 / C) / lO 

11040 RS« = "HIGH" 

11050 RETURN 

11060 D = INT (C * lO / SA) / lO 

11070 RS« = "LOW" 

11080 RETURN 

12000 REM REWARD 

12010 FOR I = 1 TO 11 

12020 PRINT 

12030 NEXT I 

12040 PRINT "YOU FOUND MY NUMBER" 

12050 PRINT "IN ";N;" TRIES, ";NA«;"!" 

12060 FOR I = 1 TO 11 

12070 PRINT 

12080 NEXT I 

12090 END 



159 



TABLE OF VARIABLES 



C - CORRECT ANSWER 

lOOlO IIOIO 11020 11030 11060 

D - PROPORTION 

4100 41 lO 11030 11060 

DE - DELAY 
2160 2170 

I - COUNTER 

2010 2030 12010 12030 12060 

12080 

N - NUMBER OF TRIES 
4050 4050 12050 

NA« - NAME 

2060 2080 4140 12050 

RSS - HIGH OR LOW 
4120 4160 11040 11070 

SA - STUDENT ANSWER 

4040 4060 llOlO 11020 11030 

11060 

END GM^ VAR. LIST 



SAMPLE RUN 

HELLO! I'M HAPPY TO SEE YOU! 

WHAT IS YOUR NAME7KIM 

I HOPE YOU HAVE A NICE TIME, 

KIM. 



THIS SAME IS VERY EASY TO EXPLAIN. 

I WILL THINK OF A NUMBER, AND 

IT WILL BE YOUR JOB TO GUESS IT. 



HERE WE GO! 



I AM THINKING OF A NUMBER. 

TYPE IN YOUR GUESS! 

?500 

YOUR GUESS IS ABOUT 21.7 

TIMES TOO HIGH! 

GUESS AGAIN. 



160 



TYPE IN YOUR GUESS! 

?24 

YOU ARE CLOSE, KIM! 

BUT YOUR GUESS IS 

A BIT TOO HIGH. 

GUESS AGAIN. 



TYPE IN YOUR GUESS! 

720 

YOUR GUESS IS ABOUT 1.1 

TIMES TOO LOW! 

GUESS AGAIN. 



TYPE IN YOUR GUESS! 

?22 

YOU ARE CLOSE, KIM! 

BUT YOUR GUESS IS 

A BIT TOO LOW. 

GUESS AGAIN. 



TYPE IN YOUR GUESS! 
?23 



YOU FOUND MY NUMBER 
IN 5 TRIES, KIM! 



161 



v1» 







Trivia Quiz 



PROGRAM DESCRIPTION 

Any multiple-choice quiz can be generated from this program 
by inputting multiple-choice questions from an instructor-made 
data file. The computer presents a question with multiple-choice 
answers, judges the answers, and provides a score at the end of the 
program. This is an excellent tool for testing on a variety of 
subjects. 

PROGRAM NOTES 

1. Notice that subroutine 10000 does not randomize but instead 
presents the problems in order (sequentially). You can change 
that if you want. Just look at line 10000 in programs that do 
randomize. 

2. Problems that have answers less than the number 5 can get 
confusing. It might be better to switch to: "Type in an A, B, C, 
or D" if you have many of these. 



PROGRAM LISTING: BASIC 



100 REM TRIVIA QUIZ BY GARY ORWIG 

lOOO REM INITIALIZATION - SET 'TL* EQUAL TO THE NUMBER OF PR 

OBLEMS IN YOUR DATA SET. 

10 lO TL=20 

1020 DIM QS(150},A1«(40),A2«(40),A31><40),A4S(40>,CR<TL) 

1030 DIM NA«(40>,S«(20) 

1040 FOR 1=1 TO TL 



162 



1050 CR(I)=0 

1060 NEXT I 

1070 REM USE FULL SCREEN 

1080 POKE 82,0 

1090 PRINT 

2000 REM INTRODUCTION 

2010 FOR 1=1 TO 50 

2020 PRINT " TRIVIA QUIZ 

2030 NEXT I 

2040 D=200 

2050 GOSUB 19000 

2060 L=12 



"; 



18000 
"WHAT 
18000 



2070 GOSUB 
2080 PRINT 
2090 GOSUB 
2100 IHPUT NA« 
21 lO PRINT 
2120 PRINT 
2130 PRINT 
2140 PRINT 
2150 PRINT 
2160 PRINT 
2170 PRINT 
2180 PRINT 
2190 PRINT 
2200 L=8 
22 lO GOSUB 
2220 PRINT 
2230 PRINT 



IS YOl« NAME?" 



I'M HAPPY TO MEET YOU, ";NA«; 



"THIS IS A QUIZ WHICH COVERS A WIDE* 
"VARIETY OF TOPICS. I WILL ASK YOU' 
"QUESTIONS, AND YOU PICK THE NUMBER' 
"OF THE RIGHT ANSWER." 



18000 

"READY? PUSH THE 'RETURN'" 

"KEY TO BEGIN." 
2240 INPUT S» 
4000 REM MAIN PROGRAM 
4010 GOSUB lOOOO 

4020 READ Q«, Al«, A2«, A3«, A4«,KE 
4030 IF CR<NX)=5 THEN 4070 
4040 C=0 
4050 GOSUB 17000 
4060 GOTO 4100 
4070 C=C+1 

40a0 IF C=TL+1 THEN 20000 
4090 GOTO 4010 

4100 PRINT "TYPE IN A 1, 2, 3, OR 4" 5 
INPUT SA 

IF SA<1 OR SA>4 THEN 4100 
4130 GOSUB 15000 
4140 GOSUB llOOO 
4150 IF HT=1 THEN 4210 
AlhO GOSUB 14000 

4170 PRINT "!« WILL TRY THAT CMME AGAIN LATER! 
4180 D=200 
4190 GOSUB 19000 
4200 GOTO 4010 
4210 GOSUB 12000 
4220 D=200 
4230 GOSUB 19000 
4240 GOTO 4010 
lOOOO REM SEQUENCE QUESTIONS 
lOOlO NX=NX+1 



4110 
4120 



163 



10020 


IF NX<TL+1 THEN 10060 


10030 


NX=0 


10040 


RESTORE 


lOOSO 


GOTO lOOlO 


10060 


RETURN 


llOOO 


REM JUDGE ANSWER 


IIOIO 


IF SA=KE THEN 11040 


11020 


HT=0 


11030 


RETURN 


11040 


HT=1 


11050 


CR<NX)=5 


11060 


RETURN 


12000 


REM REWARD 


12010 


PRINT 


12020 


PRINT "GREAT!" 


12030 


PRINT 


12040 


RETURN 


14000 


REM WRONG 


14010 


PRINT 


14020 


PRINT "SORRY!" 


14030 


PRINT 


14040 


RETURN 


15000 


REM SCORE KEEPING 


ISOIO 


N=N+1 


15020 


RETURN 


17000 


RFM PRINT OUT PROBLEM 


17010 


L=12 


17020 


GOSUB 18000 


17030 


PRINT Q% 


17040 


PRINT 


17050 


PRINT " 1. ";A1» 


17060 


PRINT " 2. ";A2« 


17070 


PRINT - 3. ";A3« 


17080 


PRINT " 4. ";A4» 



164 



17090 L=8 

17100 GOSUB 18000 

17110 RETURN 

18000 REM PRINT LINES 

18010 FOR 1=1 TO L 

18020 PRINT 

18030 NEXT I 

18040 RETURN 

19000 REM DELAY 

19010 FOR 1=1 TO D 

19020 NEXT I 

19030 RETURN 

20000 REM CLOSING 

20010 L=12 

20020 GOSUB 18000 

20030 PRINT "IT TOOK ";N;" TRIES TO GET" 

20040 PRINT TL;" PROBLEMS CORRECT!" 

20050 END 

21000 REM DATA 

21010 DATA HOW MANY CALORIES IN ONE TEASPOON OF GRANULATE 

D SUGAR? 

21020 DATA 15,25,40,50,2 

21030 DATA HOW MANY BONES ARE IN THE HUMAN BODY? 



CARD IN 1 



UNITED ST 



21040 DATA 150,192,206,218,3 

21050 DATA HOW MUCH DID IT COST TO SEND A POST 

980? 

21060 DATA 6 CENTS, 8 CENTS, 10 CENTS, 12 CENTS, 3 

21070 DATA HOM MANY OCEANS ARE THERE? 

21080 DATA 4,5,6,7,4 

21090 DATA WHAT STATE WAS THE LAST TO JOIN THE 

ATES? 

21100 DATA HAWAI I, ALASKA, ARIZONA, UTAH, 1 

21110 DATA AT WHAT TEMPERATURE DOES WATER BOIL? 

21120 DATA 50 DEGREES C.,75 DEGREES C. , 100 D6REES C. , 125 DEG 

REES C. ,3 

21130 DATA WHAT IS THE CLOSEST PLANET TO THE SUN? 

21140 DATA EARTH, MERCURY, VENUS, MARS, 2 

21150 DATA WHAT IS YOUR ZODIAC SIGN IF YOUR BIRTHDAY IS SEPT 

EMBER 16? 

21160 DATA CANCER, PISCES, ARIES, VIRGO, 4 

21170 DATA HOW MANY SIDES DOES A HEXAGON HAVE? 

21180 DATA 4,5,6,8,3 

21190 DATA HOW MANY LINES MAKE A MUSICAL STAFF? 

21200 DATA 4,5,6,7,2 

21210 DATA WHAT IS THE NATIONAL ANTHEM OF THE UNITED ST 

ATES? 

21220 DATA AMERICA, AMERICA THE BEAUTIFUL, STARS AND STRIPES F 

OREVER,STAR SPANGLED BANNER, 4 

21230 DATA WHAT IS THE REAL NAME OF THE FONZ? 

21240 DATA JAMES STEWART , HENRY WINKLER, DUST IN HOFFMM4,JOHN D 

AVIDSON,2 

212SO DATA HOW MANY DAYS DOES IT TAKE FOR MARS TO 60 AROUND 

THE SUN? 
21260 DATA 365,489.2,521.5,686.9,4 
21270 DATA WHAT IS THE CAPITAL OF ILLINOIS? 
21280 DATA SPRINGFIELD, INDIANAPOLIS, AUSTIN, MADISON, 1 
21290 DATA WHAT IS THE LARGEST RIVER IN THE WORLD? 
21300 DATA MISSISSIPPI , NILE, AMAZON, RHINE, 3 
21310 DATA WHAT IS THE HIGHEST MOUNTAIN IN THE WC«LD? 
21320 DATA MOUNT MCKINLEY, MT ST. HELENS, MOUNT DORA, MOUNT EVE 
REST, 4 

21330 DATA WHEN IT IS 5:00 A.M. IN FLORIDA WHAT TIME IS IT I 
N CALIFORNIA? 

21340 DATA 2:00 A.M. ","4:00 A.M. ","6:00 A.M. ","8:00 A.M.",1 
21350 DATA WHAT IS THE CAPITAL OF SPAIN? 
21360 DATA PARIS,MADRID, LISBON, BERLIN, 2 
21370 DATA WHAT IS THE SQUARE ROOT OF 256? 
21380 DATA 14,15,16,18,3 

21390 DATA IN WHICH FOOD WOULD THE MOST PROTEIN BE FOUND? 
21400 DATA APPLE, CHICKEN, BREAD, LETTUCE, 2 



TABLE OF VARIABLES 

TL 

lOlO 1020 1040 4080 10020 20040 



Q« 



1020 4020 17030 



165 



1020 4020 17050 

A2S 

1020 4020 17060 

A3« 

1020 4020 17070 

A4« 

1020 4020 17080 

CR( 

1020 lOSO 4030 11030 

NA« 

1030 2100 2130 

S« 

1030 2240 

I 

1040 1050 1060 2010 2030 18010 
18030 19010 19020 

O 

2040 4180 4220 19010 

L 

2060 2200 17010 17090 18010 20010 



KE 

4020 IIOIO 

NX 

4030 lOOlO lOOlO 10020 10030 11050 



c 

4040 4070 4070 4080 

SA 

41 lO 4120 4120 11010 

HT 

4150 11020 11040 

N 

ISOIO ISOIO 20030 



PROGRAM LISTING: MICROSOFT BASIC 

lOO REM TRIVIA QUIZ BY GARY ORWIG 

lOOO REM INITIALIZATION - SET 'TL' EQUAL TO THE NUMBER OF 

PROBLEMS IN YOUR DATA SET. 
166 



1010 

1020 

1030 

1040 

1050 

1060 

1070 

1080 

2000 

2010 

2020 

2030 

2040 

2050 

2060 

2070 

2080 

2090 

2100 

2110 

2120 

2130 

2140 

2150 

2160 

2170 

2180 

2190 

2200 

2210 

2220 

2230 

2240 

2250 

2260 

4000 

4010 

4020 

4030 

4040 

4050 

4060 

4070 

4080 

4090 

4100 

4110 

4120 

4130 

4140 

4150 

4160 

4170 

4180 

4190 

4200 

4210 



TRIVIA QUIZ 



TL = 20 

DIM Q* <TL) , Alt (TL) , A2* (TL) , A3* (TL) , A4« (TL) , KE (TL) 

FOR I = 1 TO TL 

READ Q«(I),A1S(I), A2« ( I ) , A3« ( I ) , A4« ( I ) , KE ( I ) 

NEXT I 

REM USE FULL SCREEN 

POKE 82,0 

CLS 

REM INTRODUCTION 

FOR I = 1 TO 10 

FOR J = 1 TO 50 

NEXT J 

PRINT " 

NEXT I 

D = 2500 

60SUB 19000 

L = 12 

GOSUB 18000 

PRINT "WHAT 

GOSUB 18000 

IW>UT NA* 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

L = 8 

GOSUB 

PRINT 

PRINT 



IS YOUR NAME?' 



I'M HAPPY TO MEET YOU, ";NA*; 



"THIS IS A QUIZ WHICH COVERS A WIDE" 
"VARIETY OF TOPICS. I WILL ASK YOU" 
"QUESTIONS, AND YOU PICK THE NUMBER OF' 
"OF THE RIGHT ANSWER. 



18000 

"READY? PUSH THE 'RETURN' 

"KEY TO BEGIN. " 
INPUT S» 

REM MAIN PROGRAM 
GOSUB lOOOO 

IF KE(NX) = 5 THEN 4060 
C = O 

GOSUB 17000 
GOTO 4090 
C = C + 1 
IF C = TL + 
GOTO 4010 
PRINT "TYPE 



1 THEN 2<X>00 



INPUT SA 

IF SA 

GOSUB 

GOSUB 

IF HT 

GOSUB 

PRINT 



IN A 1, 2, 3, OR 



> 4 THEN 4090 



< 1 OR SA 

15000 

llOOO 

= 1 THEN 4200 

14000 

"WE WILL TRY THAT OI>E AGAIN LATER! 



D = 2000 
GOSUB 19000 
GOTO 4010 
GOSUB 12000 
D = 2000 



167 



4220 GOSUB 19000 

4230 GOTO 4010 

lOOOO REM SEQUENCE QUESTIONS 

lOOlO NX = NX + 1 

10020 IF NX < TL + 1 THEN 10050 

10030 NX = O 

10040 GOTO 10010 

10050 RETURN 

llOOO REM JUDGE ANSWER 

11010 IF SA = KE(NX) THEN 11040 

11020 HT = O 

11030 RETURN 

11040 HT = 1 

11050 KE(NX) = 5 

11060 RETURN 

12000 REM REWARD 

12010 PRINT 

12020 PRINT "GREAT!" 

12030 PRINT 

12040 RETURN 

14000 REM WRONG 

14010 PRINT 

14020 PRINT "SORRY!" 

14030 PRINT 

14040 RETURN 

15000 REM SCORE KEEPING 

15010 N = N + 1 

15020 RETURN 

17000 REM PRINT OUT PROBLEM 

17010 L = 12 

17020 GOSUB 18000 

17030 



PRINT Q«(NX) 



17040 PRINT 
17050 PRINT 



168 



17060 
17070 
17080 
17090 
17100 
17110 
18000 
18010 
18020 
18030 
18040 
19000 
19010 
19020 
19030 
20000 
20010 
20020 
20030 
20040 
20050 
21000 
21010 



1. 
2. 
3. 
4. 



";A1«(NX) 
";A2*(NX) 



PRINT " 

PRINT " 3. ";A3«(NX) 

PRINT " 4. ";A4*(NX) 

L = 8 

GOSUB 18000 

RETURN 

REM PRINT LINES 

FOR I = 1 TO L 

PRINT 

NEXT I 

RETURN 

REM DELAY 

FOR I = 1 TO D 

NEXT I 

RETURN 

REM CLOSING 

L = 12 

GOSUB 18000 

PRINT "IT TOOK ";N;" TRIES TO GET" 

PRINT TL;" PROBLEMS CORRECT!" 

END 

REM DATA 

DATA "HOW MANY CALORIES IN ONE TEASPOON OF 



GRANULAT 



ED SUGAR?" 

21020 DATA 15,25,40,50,2 

21030 DATA "HOW MANY BONES ARE IN THE HUMAN BODY?" 

21040 DATA 150,192,206,218,3 

21050 DATA "HOW MUCH DID IT COST TO SEND A POST 

1980?" 
21060 DATA 
21070 DATA 



CARD IN 



6 CENTS, 8 CENTS, 10 CENTS, 12 CENTS, 3 

HOW MANY OCEANS ARE THERE?" 
21080 DATA 4,5,6,7,4 

21090 DATA "WHAT STATE WAS THE LAST TO JOIN THE UNITED 8 
TATES?" 

21100 DATA HAWAI I, ALASKA, ARIZONA, UTAH, 1 
21110 DATA "AT WHAT TEMPERATURE DOES WATER BOIL?" 
21120 DATA 50 DEGREES C. ,75 DEGREES C. , 100 DGREES C. , 125 DE 
GREES C.,3 
21130 DATA 
21140 DATA 
21150 DATA 



16, WHAT IS YOUR 



UNITED S 



WHAT IS THE CLOSEST PLANET TO THE SUN? 

EARTH, MERCURY, VENUS, MARS, 2 

IF YOUR BIRTHDAY IS SEPTEMBER 
ZODIAC SIGN?" 

21160 DATA CANCER, PISCES, ARIES, VIRGO, 4 
21170 DATA "HOW MANY SIDES DOES A HEXAGON HAVE?" 
21180 DATA 4,5,6,8,3 

21190 DATA "HOW MANY LINES MAKE A MUSICAL STAFF? 
21200 DATA 4,5,6,7,2 

21210 DATA "WHAT IS THE NATIONAL ANTHEM OF THE 
TATES?" 

21220 DATA AMERICA, AMERICA THE BEAUT I FUL , ST ARS AND STRIPES 
FOREVER, STAR SPANGLED BANNER, 4 

21230 DATA "WHAT IS THE REAL NAME OF THE FONZ?" 
21240 DATA JAMES STEWART, HENRY WINKLER, DUST IN HOFFMAN, JOHN D 
AVIDSON,2 

21250 DATA "HOW MANY DAYS DOES IT TAKE FOR MARS TO GO AROU 
ND THE SUN?" 

21260 DATA 365,489.2,521.5,686.9,4 
21270 DATA "WHAT IS THE CAPITAL OF ILLINOIS? 
21280 DATA SPRINGFIELD, INDIANAPOLIS, AUSTIN, MADISON, 1 
21290 DATA "WHAT IS THE LARGEST RIVER IN THE WORLD?" 
21300 DATA MISSISSIPPI, NILE, AMAZON, RHINE, 3 
21310 DATA "WHAT IS THE HIGHEST MOUNTAIN IN THE WORLD?" 
21320 DATA MOUNT MCKINLEY, MT ST- HELENS, MOUNT DORA, MOUNT EVE 
REST, 4 

21330 DATA "WHEN IT IS 5:00 A.M. IN FLORIDA WHAT TIME IS IT 
IN CALIFORNIA?" 
21340 DATA "2:00 A.M 
21350 DATA 
21360 DATA 
21370 DATA 
21380 DATA 
21390 DATA 
21400 DATA 



•8:00 A.M. ",1 



,"4:00 A.M. ","6: 00 A.M. 
"WHAT IS THE CAPITAL OF SPAIN?" 

PARIS, MADRID, LISBON, BERLIN, 2 
"WHAT IS THE SQUARE ROOT OF 256?" 
14,15,16,18,3 
"IN WHICH FOOD WOULD THE MOST PROTEIN BE FOUND?" 

APPLE , CH I CKEN , BREAD , LETTUCE , 2 



TABLE OF VARIABLES 



Al«<«) - ANSWER 1 
1020 1040 17050 



169 



A2*(*) - ANSWER 2 
1020 1040 17060 

A3«(») - ANSWER 3 
1020 1040 17070 

A4«(*) - ANSWER 4 
1020 1040 17080 

C - NUMBER OF PROBLEMS ANSWERED 
4030 4060 4060 4070 

D - DELAY 

2060 4170 4210 19010 

HT - HIT 

4140 11020 11040 

I - COUNTER 

1030 1040 1040 1040 1040 1040 
1040 1050 2010 2050 18010 18030 
19010 19020 

J - COUNTER 
2020 2030 

KE<*) - KEYS 

1020 1040 4020 11010 11050 

L - LINES OF SCROLLING 
20a0 2220 17010 17090 18010 
20010 

N - NUMBER OF TRIES 
15010 15010 20030 

NA« - NAME 
2120 2150 

NX - NUMBER IN SEQUENCE 
4020 lOOlO 10010 10020 10030 
11010 11050 17030 17050 17060 
17070 17080 

Q»<») - QUESTIONS 
1020 1040 17030 

S« - STUDENT ANSWER 
2260 

SA - STUDENT ANSWER 
4100 4110 4110 IIOIO 

TL - NUMBER OF QUESTIONS IN LIST 
lOlO 1020 1020 1020 1020 1020 
1020 1030 4070 10020 20040 

170 END OF VAR. LIST 



SAMPLE RUN 

WHAT IS YOUR NAME? 

7JOHNNY 

I'M HAPPY TO MEET YOU, JOHNNY. 



THIS IS A QUIZ WHICH COVERS A WIDE 
VARIETY OF TOPICS. I WILL ASK YOU 
QUESTIONS, AND YOU PICK THE NUMBER OF 
OF THE RIGHT ANSWER. 



READY? PUSH THE 'RETURN 
KEY TO BEGIN. 

•7 



HOW MANY CALORIES IN ONE TEASPOON OF GRANULATED SUGAR? 

1. 15 

2. 25 
3- 40 
4. 50 



TYPE IN A 1, 2, 3, OR 4?2 
GREAT ! 

HOW MANY BONES ARE IN THE HUMAN BODY? 

1. 150 

2. 192 

3. 206 

4. 218 

TYPE IN A 1, 2, 3, OR 4?3 
GREAT ! 



HOW MUCH DID IT COST TO SEND A POST CARD IN 1980? 

1. 6 CENTS 

2. 8 CENTS 

3. lO CENTS 

4. 12 CENTS 171 



TYPE IN A 1, 2, 3, OR 4?1 

SORRY ! 

WE WILL TRY THAT ONE AGAIN LATER! 



172 



BRANCHING PROGRAMS 



Branching programs allow individual learners to take different routes through the 
instruction, depending on how much they know and how fast they learn. The 
microcomputer is an ideal vehicle for these programs because it allows instant access to 
any part of any program. The following selection of program listings and sample runs was 
chosen to demonstrate the methodology by which branching programming is used to 
instruct the learner in such subject areas as mathematics, metric conversion, and 
sentence grammar. 



173 



Factor Game 




PROGRAM DESCRIPTION 

This is an interesting instructional game on factoring num- 
bers. The computer gives you an initial quiz (pre-test) to find out if 
you know what factors of numbers are all about. If you obtain all of 
the answers correctly, you don't need to receive instruction on 
factors. On the other hand, for those of you who may have wrong 
answers, the computer will give you a lesson on factors before you 
can play the game. 

In the factor game you compete against the computer. To start 
the game, the computer displays a set of numbers. You then select 
a number and add the amount of the number to your score. The 
computer will select all of the factors of the number you chose 
except the number itself. It then adds the amounts of the numbers 
selected to its score. The game is played until the original list of 
numbers selected by the computer is completed. The object of the 
game is to try to select numbers that do not have many factors left 
in the list. Otherwise, the computer will gobble up all of the 
numbers in the list and beat you soundly! 

PROGRAM NOTES 



174 



When a large maximum number is chosen, the list of numbers 
will wrap around two or more lines on the screen. See if you can 
come up with a subroutine that will prevent splitting a number 
between the end of one line and the beginning of the next. This 
seems to be a problem mainly with the ATARI BASIC, 



PROGRAM LISTING: BASIC 

lOO REM FACTOR GAME BY GARY ORWIG 

1000 REM INITIALIZATION 

1010 DIM NA«(40) 

1020 DIM SA«(5) 

1030 REM USE FULL SCREEN 

1040 POKE 82,0 

1050 PRINT 



2000 REM INTRODUCTION 


2010 L=12 




2020 GOSUB 


18000 


2030 PRINT 


FACTCWS" 


2040 GOSUB 


18000 


2050 D=200 




2060 GOSUB 


19000 


2070 GOSUB 


18000 


2080 PRINT 


"WHAT IS YOUR NAME?" 


2090 GOSUB 


18000 


2100 INPUT 


NA« 


2110 GOSUB 


18000 


2120 PRINT 


"I'M HAPPY TO MEET YOU, ";NA«i"." 


2130 GOSUB 


18000 


2140 GOSUB 


19000 


2150 GOSUB 


18000 


2160 PRINT 


"THIS IS A GAME OF FACTORS. BEFORE WE" 


2170 PRINT 


"GO VERY FAR, I'D BETTER CHECK TO MAKE" 


2180 PRINT 


"SURE YOU KNOW JUST WHAT FACTORS ARE!" 


2190 PRINT 




2200 PRINT 


"WHAT NUMBER IS NOT A FACTOR OF 12?" 


2210 PRINT 




2220 PRINT 


■ f •« H 


2230 PRINT 


3" 


2240 PRINT 


■I Ma 


2250 PRINT 


6" 


2260 PRINT 


" 8" 


2270 PRINT 


12" 


2280 L=4 




2290 GOSUB 


18000 


2300 INPUT 


SA 


2310 IF SA= 


=8 THEN 2730 


2320 GOSUB 


18000 


2330 PRINT 


" 1, 3, 4, 6, 8, 12" 


2340 PRINT 




2350 PRINT 


"THE NUMBER '8' IS THE ONLY NUMBER LISTED" 


2360 PRINT 


"WHICH IS NOT A FACTOR OF 12!" 


2370 PRINT 




2380 PRINT 


"IT IS THE ONLY NUMBER IN THE SET WHICH" 


2390 PRINT 


"HAS A REMAINDER WHEN DIVIDED INTO" 


2400 PRINT 


"THE NUMBER '12.' ALL OF Tfr« OTHER" 


2410 PRINT 


"NUMBERS IN THE SET DIVIDE INTO 12" 


2420 PRINT 


"EVENLY. " 


2430 PRINT 




2440 PRINT 


"ONE NUMBER IS A FACTOR OF ANOTHER" 


2450 PRINT 


"NUMBER IF IT DIVIDES INTO THE NUMBLH" 


2460 PRINT 


"EVENLY." 



175 



176 



2470 

2480 

2490 

2500 

2510 

2520 

2530 

2540 

2550 

2560 

2570 

2580 

2590 

2600 

2610 

2620 

2630 

2640 

2650 

2660 

2670 

2680 

2690 

2700 

27 lO 

2720 

2730 

2740 

2750 

2760 

2770 

2780 

2790 

2800 

3000 

3010 

3020 

3030 

3040 

3050 

3060 

3070 

3080 

3090 

3100 

3110 

3120 

3130 

3140 

3150 

3160 

3170 

3180 

3190 

3200 

3210 

3220 

3230 



PRINT 

GOSUB 17000 
L=12 
GOSUB 18000 



"LET'S TRY ONE MORE. 



WHICH OF THE FOLLOWING IS NOT A FACTOR" 
OF THE NUMBER 10?" 



PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT " 1" 

PRINT " 2" 

PRINT " 3" 

PRINT " 5" 

PRINT " 10" 

L=6 

GOSUB 18000 

INPUT SA 

IF SA=3 THEN 2730 

PRINT "THE NLH1BER '3' IS THE ONLY NUMBER WHICH" 

PRINT "DOES NOT DIVIDE INTO lO EVENLY!" 

PRINT "I THINK 1^ BETTER BACK UP A BIT, ";NA« 

PRINT 

GOSUB 17000 

L=12 

GOSUB 

GOTO 2200 

L=12 

GOSUB 

PRINT 

PRINT 

GOSUB 

D=200 

GOSUB 

GOSUB 



18000 



18000 

"VERY GOOD, ";NA»;"! 

"READY FOR THE GAME ! " 

18000 



I THINK YOU ARE" 



19000 

18000 
REM INSTRUCTIONS 
L=12 

18000 

"THIS GAME IS DIFFICULT TO EXPLAIN," 

"BUT YOU WILL CATCH ON QUICKLY!" 



GOSUB 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

L=5 

GOSUB 

GOSUB 

L=12 

GOSUB 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 



"I WILL GIVE YOU A SET OF NUMBERS," 
"LIKE THIS:" 

"123456789 10" 

"WHEN YOU PICK A NUMBER, " 

"LIKE '10,' YCHJ" 

"GET TO ADD IT TO YOUR SCORE." 

18000 
17000 

18000 

"BUT " 



I GET TO ADD ITS REMAINING FACTORS" 
(5, 2, AND 1) TO MY SCORE!" 



3240 PRINT "NOW THE LIST WILL BE MISSING ALL THOSE" 

3250 PRINT "NUMBERS!" 

3260 PRINT 

3270 PRINT "* » 3 4 * 6 7 8 9 *" 

3280 PRINT 

3290 PRINT "AND WE START AGAIN!" 

3300 PRINT 

3310 PRINT "IF YOU PICK A NUMBER WHICH HAS NO " 

3320 PRINT "FACTORS LEFT IN THE LIST, I GET IT!" 

3330 PRINT "ALSO, I GET ALL THE NIAIBERS LEFT OVER" 

3340 PRINT "WHEN ALL THE FACTORS ARE GONE!" 

3350 PRINT 

3360 PRINT 

3370 PRINT "READY?" 

3380 GOSUB 17000 

3390 REM INITIALIZATION 

3400 PRINT 

3410 PRINT "WHAT IS THE LARGEST NUMBER YOU WANT?" 

3420 INPUT MX 

3430 DIM FA (MX) 

3440 PRINT 

3450 PRINT "THE HIGHEST NUMBER WILL BE ";MX;"." 

3460 FOR 1=1 TO MX 

3470 FA(I>=I 

3480 NEXT I 

4000 REM START OF MAIN PROGRAM 

4010 PRINT 

4020 PRINT "HERE IS THE LIST OF NUMBERS:" 

4030 PRINT 

4040 FOR 1=1 TO MX 

4050 IF FA(I)=0 THEN 4090 

4060 PRINT FA < I ) ; " " ; 

4070 NEXT I 

4080 GOTO 41 lO 

4090 PRINT "* "; 

4100 NEXT I 

4110 PRINT 

5000 REM INPUT NUMBER 

5010 PRINT 

5020 PRINT "PICK A NUMBER." 

5030 INPUT N 

5040 IF N>MX THEN 5070 

5050 IF N<1 THEN 5070 

5060 IF FA<N)=N THEN 6000 

5070 PRINT 

5080 PRINT "THAT NUMBER ISN'T IN THE LIST!" 

5090 PRINT "TRY AGAIN!" 

5100 GOTO 5030 

6000 REM FIND FACTORS 

6010 J=0 

6020 FOR 1=2 TO N 

6030 F=N/I 

6040 IF POINT (F) THEN 6110 

6050 IF FA<F)=0 THEN 6110 

6060 PRINT 

6070 PRINT "I GET ";F;"!" 

6080 CT=CT+F 

6090 FA(F)=0 ^77 



178 



6100 GOTO 6120 

6110 JsJ-i-1 

6120 NEXT I 

6130 IF J=N-l THEN 6170 

6140 SS^SS-i-N 

6130 FA<N)sO 

6160 GOTO 7000 

6170 J=0 

6180 CT»CT+N 

6190 FA(N>sO 

6200 PRINT 

6210 PRINT "I GET ";N;"! IT HAD NO FACTORS!" 

6220 PRINT 

7000 REM CHECK REM. «'S FOR FACTORS 

7010 FOR 1=1 TO MX 

7020 J=MX-I+1 

7030 FOR K=2 TO J 

7040 F=J/K 

7050 IF POINT (F) THEN 7130 

7060 IF FA(F)=0 THEN 7130 

7070 PRINT 

7080 PRINT "YOUR SCORE IS: ";SS 

7090 PRINT 

7100 PRINT "MY SCORE IS: ";CT 

71 lO PRINT 

7120 GOTO 4000 

7130 NEXT K 

7140 NEXT I 

7150 PRINT 

8000 REM INK) FACTCn^S LEFT 

SO 10 FOR 1=1 TO MX 

8020 IF FA(I)=0 THEN 8070 

8030 PRINT 

8040 PRINT "I GET ";FA(I);"!" 

80S0 CT=CT+FA(I) 

8060 FA(I)=0 

8070 NEXT I 

8080 PRINT 

8090 PRINT 

8100 PRINT "YOUR FINAL TOTAL IS: ";SS 

81 lO PRINT 

8120 PRINT "MY FINAL TOTAL IS: "JCT 

8130 PRINT 

8140 IF CT>SS THEN PRINT "I WIN, "JNA»;"!" 

8150 IF SS>CT THEN PRINT "YOU WIN, ";NA»;"!" 

8160 IF SS=CT THEN PRINT "IT'S A TIE, "SNA*;"!" 

8170 END 

17000 REM PAUSE 

17010 PRINT "PUSH 'RETURN' TO CONTINUE." 

17020 INPUT SA* 

17030 RETURN 

18000 REM SCROLLING 

18010 FOR S=l TO L 

18020 PRINT 

18030 NEXT S 

18040 RETUraM 

19000 REM DELAY 



19010 FC« S=l TO D 
19020 HEXT S 
19030 RETURN 



TABLE OF VARIABLES 

NA« 

lOlO 2100 2120 2670 2730 8140 
81SO 8160 

SA« 

1020 17020 

L 

2010 2280 2490 2610 2700 2730 
3010 3140 3170 18010 

D 

2050 2780 19010 

SA 

2300 2310 2630 2640 

MX 

3420 3430 3450 3460 4040 5040 
7010 7020 SO 10 

FA< 

3430 3470 4050 4060 5060 6050 

6090 6150 6190 7060 8020 8040 

80S0 8060 

I 

3460 3470 3470 3480 4040 4050 

4060 4070 4100 6020 6030 6120 

70 lO 7020 7140 8010 8020 8040 

8050 8060 8070 

N 

5030 5040 5050 5060 5060 6020 
6030 6130 6140 6150 6180 6190 
6210 

J 

6010 6110 61 lO 6130 6170 7020 
7030 7040 



F 

6030 6040 6040 6050 6070 6080 
6090 7040 7050 7050 7060 



CT 

6080 6080 6180 6180 7100 80»> 
8050 8120 8140 8150 8160 



179 



ss 



K 



6140 6140 7080 8100 8140 8150 
8160 



7030 7040 7130 



18010 18030 19010 19020 



PROGRAM LISTING: MICROSOFT BASIC 

lOO REM FACTOR GAME BY GARY ORWIG 
lOOO REM INITIALIZE 



lOlO 


DIM FA(IOO) 




1020 


REM USE FULL 


SCREEN 


1030 


POKE 82,0 




1040 


CLS 






2000 


REM INTRODUCTION 


2010 


L = 12 


\ 




2020 


GOSUB 


18000 




2030 


PRINT 


■• 


FACTORS" 


2040 


GOSUB 


18000 




2050 


D = lOOO 




2060 


GOSUB 


19000 




2070 


GOSUB 


18000 




2080 


PRINT 


"WHAT 


IS YOUR NAME?" 


2090 


GOSUB 


18000 




2100 


INPUT 


NA« 




21 lO 


GOSUB 


18000 




2120 


PRINT 


"I'M HAPPY TO MEET YOU, ";NA*;"." 


2130 


GOSUB 


18000 




2140 


GOSUB 


19000 




2150 


GOSUB 


18000 




2160 


PRINT 


"THIS 


IS A GAME OF FACTORS. BEFORE WE" 


2170 


PRINT 


"GO VERY FAR, I'D BETTER CHECK TO MAKE" 


2180 


PRINT 


"SURE 


YOU KNOW JUST WHAT FACTORS ARE!" 


2190 


PRINT 






2200 


PRINT 


"WF«T 


NUMBER IS NOT A FACTOR OF 12?" 


2210 


PRINT 






2220 


PRINT 


■■ 


1" 


2230 


PRINT 


tt 


3" 


2240 


PRINT 


It 


4" 


2250 


PRINT 


II 


6" 


2260 


PRINT 


tl 


8" 


2270 


PRINT 


•I 


12" 


2280 


L = 4 






2290 


GOSUB 


18000 




2300 


INPUT 


SA 




2310 


IF SA 


= 8 THEN 2730 


2320 


GOSUB 


18000 




2330 


PRINT 


" 1, 3, 4, 6, 8, 12" 


2340 


PRINT 






2350 


PRINT 


"THE NUMBER '8' IS THE ONLY NUMBER LISTED 


2360 


PRINT 


"WHICH IS NOT A FACTOR OF 12!" 



180 



2370 

2380 

2390 

2400 

2410 

2420 

2430 

2440 

2450 

2AhO 

2470 

2480 

2490 

2500 

2510 

2520 

2530 

2540 

2550 

2560 

2570 

2580 

2590 

2600 

2610 

2620 

2&30 

2640 

26SO 

2660 

2670 

2680 

2690 

2700 

27 lO 

2720 

2730 

2740 

2750 

2760 

2770 

2780 

2790 

2800 

3000 

3010 

3020 

3030 

3040 

3050 

30&0 

3070 

3oao 

3090 
3 too 
31 lO 



"IT IS THE ONLY NUMBER IN THE SET WHICH* 
"HAS A REMAINDER WHEN DIVIDED INTO" 
"THE NUMBER ' 12. ' ALL OF THE OTHER" 
"NUMBERS IN THE SET DIVIDE INTO 12" 
"EVENLY. " 

"ONE NUMBER IS A FACTO? C»=^ ANOTHER" 
"NUMBER IF IT DIVIDES INTO THE NUMBER" 
"EVENLY. " 

17000 



PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

60SUB 

L = 12 

GOSUB 18000 

PRINT "LET'S TRY ONE MORE." 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

L = 6 

GOSUB 

INPUT 

IF SA 

PRINT 

PRINT 

PRINT 

PRINT 

GOSUB 

L = 12 

GOSUB 18000 

GOTO 2200 

L = 12 

GOSUB 18000 

PRINT "VERY GOOD, ";NA«;"! 

PRINT "READY FOR THE GAME!" 

GOSUB 18000 

D = 2500 

GOSUB 19000 

GOSUB 18000 

REM INSTRUCTIONS 

L = 12 

GOSUB 18000 

THIS GAME IS DIFFICULT TO EXPLAIN, 
BUT YOU WILL CATCH ON QUICKLY!" 



"WHICH OF THE FOLLOWING IS NOT A FACTOR' 
"OF THE NUMBER 10?" 



1" 
2" 
3" 
5" 
10" 



18000 

SA 

= 3 THEN 2730 

"THE NUMBER '3' IS THE ONLY NUMBER WHICH' 

"DOES NOT DIVIDE INTO lO EVENLY!" 

"I THINK WE BETTER BACK UP A BIT, ";NA« 

17000 



I THINK YOU ARE- 



PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 



"I WILL GIVE YOU A SET CM=^ NUMBERS, 
"LIKE THIS: " 



lO' 



■WHEN YOU PICK A NUMBER, 



181 



•LIKE ' 10, ' YOU" 

•6ET TO ADD IT TO YOUR SCORE. 



"BUT " 

"I GET TO ADD ITS REMAINING FACTORS" 
"(5, 2, AND 1) TO MY SCORE!" 

"NOW THE LIST WILL BE MISSING ALL THOSE" 
"NUMBERS!" 



8 



"AND WE START AGAIN!" 



3120 PRINT 

3130 PRINT 

3140 L = 5 

3150 GOSUB 18000 

3160 GOSUB 17000 

3170 L = 12 

3 ISO GOSUB 18000 

3190 PRINT 

3200 PRINT 

3210 PRINT 

3220 PRINT 

3230 PRINT 

3240 PRINT 

3250 PRINT 

3260 PRINT 

3270 PRINT 

3280 PRINT 

3290 PRINT 

3300 PRINT 

3310 PRINT 

3320 PRINT 

3330 PRINT 

3340 PRINT 

3350 PRINT 

3360 PRINT 

3370 PRINT 

3380 GOSUB 

3390 I=0 

3400 PRINT 

3410 PRINT 

OO)?" 

3420 

3430 

3440 PRINT 

3450 PRINT 

3460 FOR I 

3470 FA(I) 

3480 NEXT I 

4000 REM START OF MAIN PROGRAM 

4010 PRINT 

4020 PRINT "HERE IS THE LIST OF NUMBERS:" 

4030 PRINT 

4040 FOR I = 1 TO MX 

4050 IF FA(I) = O THEN PRINT " » "; 

4060 IF FA(I) <> O THEN PRINT FA<I); 

4070 NEXT I 

4080 PRINT 

5000 REM INPUT NUMBER 

5010 PRINT 

5020 PRINT "PICK A NUMBER." 

INPUT N 

IF N > MX THEN 5070 

IF N < 1 THEN 5070 

IF FA(N) = N THEN 6000 
5070 PRINT 
5080 PRINT "THAT NUMBER ISN'T IN THE LIST!" 



"IF YOU PICK A NUMBER WHICH HAS NO " 
"FACTORS LEFT IN THE LIST, I GET IT!" 
"ALSO, I GET ALL THE NUMBERS LEFT OVER" 
"WHEN ALL THE FACTORS ARE GONE!" 



"READY?' 
17000 



■WHAT IS THE LARGEST NUMBER YOU WANT (LESS THAN 1 



INPUT MX 

IF MX > lOO THEN 3410 



"THE HIGHEST NUMBER WILL BE 
= 1 TO MX 
= I 



;MXi 



5030 
5040 
5050 
5060 



182 



5090 PRINT "TRY AGAIN!" 

5100 GOTO 5030 

6000 REM FIND FACTORS 

6010 J = O 

6020 FOR I = 2 TO N 

6030 F = N / I 

6040 IF F < > INT (F) THEN 61 lO 

6050 IF FA(F) = O THEN 6110 

6060 PRINT 

6070 PRINT "I GET ";F;"!" 

6080 CT = CT + F 

6090 FA(F) = O 

6100 GOTO 6120 

6110 J = J + 1 

6120 NEXT I 

6130 IF J = N - 1 THEN 6170 

6140 SS = SS + N 

61SO FA(N) = O 

6160 GOTO 7000 

6170 J = O 

61QO CT = CT + N 

6190 FA(N) = O 

6200 PRINT 

6210 PRINT "I GET ";N;"! IT HAD NO FACTORS!" 

6220 PRINT 

7000 REM CHECK REM. #'S FOR FACTORS 

7010 FOR I = 1 TO MX 

7020 J = MX - I + 1 

7030 FOR K = 2 TO J 

7040 F = J / K 

7050 IF F < > INT <F) THEN 7130 

7060 IF FA(F) = O THEN 7130 

7070 PRINT 

70Q0 PRINT "YOUR SCORE IS: ";SS 

7090 PRINT 

7100 PRINT "MY SCORE IS: ";CT 

7110 PRINT 

7120 GOTO 4000 

7130 NEXT K 

7140 NEXT I 

7150 PRINT 

8000 REM NO FACTORS LEFT 

8010 FOR I = 1 TO MX 

8020 IF FA(I) = O THEN 8070 

8030 PRINT 

8040 PRINT "I GET ";FA<I)"!" 

8050 CT = CT + FA(I) 

8060 FA(I) = O 

8070 NEXT I 

8080 PRINT 

a090 PRINT 

8100 PRINT "YOUR FINAL TOTAL IS: ";SS 

81 lO PRINT 

8120 PRINT "MY FINAL TOTAL IS: "3CT 

8130 PRINT 

8140 IF CT > SS THEN PRINT "I WIN, ";NA«;"!" 

183 



8150 IF SS > CT THEN PRINT "YOU WIN, ";NA*i"!" 

8160 IF SS = CT THEN PRINT "IT'S A TIE, ";NA*;"! 

8170 END 

17000 REM PAUSE 

17010 PRINT "PUSH 'RETURN'." 

17020 INPUT SA* 

17030 RETURN 

18000 REM SCROLLING 

18010 FOR S = 1 TO L 

18020 PRINT 

18030 NEXT S 

18040 RETURN 

19000 REM DELAY 

19010 FOR S = 1 TO D 

19020 NEXT S 

19030 RETURN 



TABLE OF VARIABLES 

CT - COMPUTER SCORE 

&080 6080 6 ISO 6180 7100 8030 

80S0 8120 8140 8150 8160 

D - DELAY 

2050 2780 19010 

F - FACTOR 

6030 6040 6040 6050 6070 6080 

6090 7040 7050 7050 7060 

FA(*) - LIST OF NUMBERS 
3430 3470 4050 4060 5060 6050 
6090 6150 6190 7060 8020 8040 
8050 8060 

I - COUNTER 

3460 3470 3470 3480 4040 4050 
4060 4070 4100 6020 6030 6120 
7010 7020 7140 8010 8020 8040 
8050 8060 8070 

J - COUNTER 

6010 61 lO 6110 6130 6170 7020 

7030 7040 

K - COUNTER 
7030 7040 7130 

L - LINES OF SCROLLING 

2010 2280 2490 2610 2700 2730 

3010 3140 3170 18010 

MX - HIGHEST NUMBER 

3420 3430 3450 3460 4040 5040 

7010 7020 8010 



184 



N - COUNTER 

5030 5040 5050 5060 50&0 6020 

6030 6130 6140 6150 6180 6190 

6210 

iMA« - NAME 

2100 2120 2670 2750 8140 8150 

8160 

S - COUNTER 

18010 18030 19010 19020 

SA - STUDENT ANSWER 
2300 2310 2630 2640 

SA« - STUDENT ANSWER 
17020 

SS - STUDENT SCORE 

6140 6140 7080 8100 8140 8150 

8160 

END OF VAR. LIST 



SAMPLE RUN 

WHAT IS YOUR NAME? 

?JUDY 

I'M HAPPY TO MEET YOU, JUDY. 



THIS IS A GAME OF FACTORS. BEFORE WE 
GO VERY FAR, I'D BETTER CHECK TO MAKE 
SURE YOU KNOW JUST WHAT FACTORS ARE! 

WHAT NUMBER IS NOT A FACTOR OF 12? 



1 
3 
4 
6 
8 
12 



?6 



1, 3, 4, 6, 8, 12 

185 



THE NUMBER '8' IS THE ONLY NUMBER LISTED 
WHICH IS NOT A FACTOR OF 12! 

IT IS THE ONLY NUMBER IN THE SET WHICH 
HAS A REMAINDER WHEN DIVIDED INTO 
THE NUMBER '12.' ALL OF THE OTHER 
NUMBERS IN THE SET DIVIDE INTO 12 
EVENLY. 

ONE NUMBER IS A FACTOR OF ANOTHER 
NUMBER IF IT DIVIDES INTO THE NUMBER 
EVENLY. 

PUSH 'RETURN' TO CONTINUE. 



LET'S TRY ONE MORE. 

WHICH OF THE FOLLOWING IS NOT A FACTOR 
OF THE NUMBER lO? 



1 
2 

3 

5 

10 



?3 



VERY GOOD, JUDY! I THINK YOU ARE 
READY FOR THE GAME! 



THIS GAME IS DIFFICULT TO EXPLAIN, 
BUT YOU WILL CATCH ON QUICKLY! 

I WILL GIVE YOU A SET OF NUMBERS, 

LIKE this: 

123456789 10 

WHEN YOU PICK A NUMBER, 

LIKE ' lO, ' YOU 

GET TO ADD IT TO YOUR SCORE. 



PUSH 'RETURN' TO CONTINUE. 



186 



BUT 

I GET TO ADD ITS REMAINING FACTORS 
(5, 2, AND 1) TO MY SCORE! 

NOW THE LIST WILL BE MISSING ALL THOSE 
NUMBERS ! 

**34«6789« 

AND WE START AGAIN! 

IF YOU PICK A NUMBER WHICH HAS NO 
FACTORS LEFT IN THE LIST, I GET IT! 
ALSO, I GET ALL THE NUMBERS LEFT OVER 
WHEN ALL THE FACTORS ARE GONE! 

READY? 

PUSH 'RETURN' TO CONTINUE. 

? 

WHAT IS THE LARGEST NUMBER YOU WANT? 
?12 

THE HIGHEST NUMBER WILL BE 12. 

HERE IS THE LIST OF NUMBERS: 

123456789 lO 11 12 

PICK A NUMBER. 
?11 

I GET 1 ! 

YOUR SCORE IS: 11 

MY SCORE IS: 1 

HERE IS THE LIST OF NUMBERS: 

»23456789 10*12 

PICK A NUMBER. 
?10 

I GET 5! 

I GET 2! 

YOUR SCORE IS: 21 

MY SCORE IS: 8 



187 



HERE IS THE LIST OF NUMBERS: 

«*34»67a9«*12 

PICK A NUMBER. 
?9 

I GET 3! 

YOUR SCORE IS: 30 

MY SCORE IS: 11 

HERE IS THE LIST OF NUMBERS: 

***4*678*«*12 

PICK A NUMBER. 
?12 

I GET 6! 

I GET 4! 

I GET 7! 
I GET 8! 

YOUR FINAL TOTAL IS: 42 
MY FINAL TOTAL IS: 36 
YOU WIN, JUDY! 



188 




Math Teacher 



PROGRAM DESCRIPTION 



This is an excellent program for practicing addition, subtrac- 
tion, multiplication, and division on a more difficult scale than 
MATH TUTOR. The computer presents math problems that 
become more difficult as you answer the problems correctly. If you 
answer the questions incorrectly, the computer will adjust its 
math problems according to your skill level. 

PROGRAM NOTES 

1. Compare this program to MATH TUTOR to see how they 
differ. Pay close attention to the variable "MX" and see how it 
changes. 

2. You may want to provide the answer after several tries. 



PROGRAM LISTING: BASIC 



lOO REM MATH TEACHER BY 6ARY ORWI6 

lOOO REM INITIALIZATION 

lOlO DIM CH«(10) 

1020 DIM NAS(50) 

1030 DIM RE«(10) 

1040 DIM SA«(20} 

1050 REM USE FULL SCREEN 

1060 REM CLEAR SCREEN 

1070 POKE 82,0 

1080 PRINT 

2000 REM INTRODUCTION 

2010 PRINT 



189 



190 



2020 PRINT "»»»«»**«»*»»»»*«»*»**»♦»♦»****»»*»♦****»' 

2030 PRINT 

2040 PRINT " MATH TEACHER" 

2050 PRINT 

2060 PRINT "****************************************' 

2070 FOR T=l TO 1000 

2080 NEXT T 

2090 PRINT "WHAT IS YOUR NAME"; 

2100 INPUT NA« 

21 lO PRINT 

2120 PRINT 

2130 PRINT "I AM HAPPY TO MEET YOU, ";NA«J"." 

2140 PRINT "WE ARE GOING TO PRACTICE SOME" 

2150 PRINT "MATH PROBLEMS. " 

2160 REM OPERATING PARAMETERS 

2170 PRINT 

2180 PRINT 

2190 PRINT "WOULD YOU LIKE TO PRACTICE" 

2200 PRINT "1. ADDITION" 

2210 PRINT "2. SUBTRACTION" 

2220 PRINT "3. MULTIPLICATION" 

2230 PRINT "4. DIVISION" 

2240 PRINT 

2250 PRINT "(TYPE IN THE NUMBER YOU WANT)" 

2260 INPUT CH« 

2270 IF CH*="1" THEN 2350 

2280 IF CH»="2" THEN 2350 

2290 IF CH*="3" THEN 2350 

2300 IF CH*="4" THEN 2350 

2310 PRINT 

2320 PRINT "PLEASE PAY ATTENTION, ";NA* 

2330 PRINT "TYPE IN ONLY A 1,2,3, OR 4!" 

2340 GOTO 2200 

2350 PRINT 

23&0 PRINT "HOW MANY PROBLEMS DO YOU" 

2370 PRINT "WANT, ";NA«; 

2380 INPUT NU 

2390 PRINT 

2400 PRINT "VERY GOOD, ";h«J5" IT WILL BE!" 

2410 PRINT 

2420 PRINT "DO YOU KNOW WHAT LEVEL YOU WANT TO" 

2430 PRINT "START AT (YES OR NO)?" 

2440 INPUT SAO 

2450 IF SA«="YES" THEN 2510 

2460 PRINT "OK, I WILL START OUT EASY AND GET" 

2470 PRINT "HARDER AS WE GO." 

2480 MX=10 

2490 PRINT 

2500 GOTO 2540 

25 lO PRINT "WHAT LEVEL DO YOU WANT TO START AT?" 

2520 INPUT MX 

2530 PRINT "OK, ";MX;" IT WILL BE!" 

2540 IF CH«="4" THEN 2680 

2550 PRINT 

2560 PRINT "I AM NOW READY TO START!" 

2570 PRINT 

2580 FOR T=l TO 200 



2590 NEXT T 

2600 PRINT "HERE WE GO!!" 

2610 FOR T=l TO 200 

2620 NEXT T 

2630 PRINT 

2640 PRINT 

2650 PRINT 

2660 PRINT 

2670 GOTO 4000 

2680 PRINT 

2690 PRINT "DO YOU WANT DIVISION PROBLEHS" 

2700 PRINT "WITH REMAINDERS (YES OR NO)"; 

27 lO INPUT RE* 

2720 IF RE«="YES" THEN 2780 

2730 IF RE»="NO" THEN 2780 

2740 PRINT 

2750 PRINT "JUST TYPE A 'YES' OR 'NO' PLEASE" 

2760 PRINT 

2770 GOTO 2680 

2780 GOTO 2S50 

4000 REM rMIN PROGRAM 

4010 IF CH*="1" THEH 4730 

4020 IF CH*="2" THEN 4570 

4030 IF CH*="3" THEN 4470 

4040 IF RE1i="YES" THEN 4220 

40S0 REM DIVISION WITHOUT REMAINDER 

4060 GOSUB lOOOO 

4070 NP=1 

40a0 IF A<B THEN 41 lO 

4090 C=A/B 

4100 GOTO 4150 

41 lO D=B 

4120 B=A 

4130 A=D 

4140 GOTO 4090 

4150 IF C-INT(C)>0 THEH 4060 

4160 PRINT a;" DIVIDED BY ";B;" EQUALS"; 

4170 INPUT SA 

4180 GOSUB llOOO 

4190 GOSUB 12000 

4200 GOSUB 15000 

4210 GOTO 4050 

4220 REM DIVISION WITH REMAINDER 

4230 GOSUB lOOOO 

4240 NP=1 

4250 IF A<B THEN 4290 

4260 C=INT(A/B) 

4270 RE=A-(C»B) 

4280 GOTO 4330 

4290 D=B 

4300 B-A 

4310 A=D 

4320 GOTO 4260 

4330 PRINT 

4340 PRINT Af" DIVIDED BY ";B;" EQUALS?" 

43SO PRINT "WHAT IS THE UMOLE NUMBER"; 

4360 INPUT SA 

191 



4370 


GOSUB llOOO 


4380 


60SUB 12000 


4390 


PRINT "AND WHAT IS THE REMAINDER? 


4400 


PRINT "TYPE IN IF THERE IS NOhE 


4410 


INPUT SA 


4420 


C=RE 


4430 


(%)SUB llOOO 


4440 


GOSUB 12000 


4450 


GOSUB 15000 


4460 


GOTO 4220 


4470 


REM MULTIPLICATION 


4480 


GOSUB 10000 


4490 


NP=1 


4500 


C-A«B 


4510 


PRINT A;" TIMES "JB;" EQUALS"; 


4520 


INPUT SA 


4530 


GOSUB 11000 


4540 


GOSUB 12000 


4550 


GOSUB 15000 


4560 


GOTO 4470 


4570 


REM SUBTRACTION 


4580 


GOSUB lOOOO 


4590 


NP=1 


4&00 


IF A<B THEN 4630 


4A10 


C=A-B 


4620 


GOTO 4670 


4630 


D=B 


4640 


B-A 


46SO 


A=D 


4660 


GOTO 46 lO 


4670 


PRINT A;" MINUS "|B;" EQUALS"; 


4680 


INPUT SA 


4690 


GOSUB llOOO 


4700 


GOSUB 12000 


4710 


GOSUB ISOOO 



4720 GOTO 4570 

4730 REM ADDITION 

4740 GOSUB 10000 

4750 NP=1 

4760 C=A+B 

4770 PRINT 

4780 INPUT 

4790 GOSUB 

4800 GOSUB 

4810 GOSUB 



192 



a; 

SA 

llOOO 

12000 

15000 
4820 GOTO 4730 
lOOOO REM RANDOMIZATION 
lOOlO A=INT(MX*RND(0))+1 
10020 BsINT(MX*RND(0>>-i-l 
10030 RETURN 
llOOO REM JUDGE ANSWER 
IIOIO IF SA=C THEN 11090 
11020 GOSUB 14000 
11030 TR=TR+1 
11040 IF TR=3 THEN 16000 
11050 PRINT 
11060 PRINT "TRY AGAIN!" 



PLUS ";b;'' EQUALS"; 



11070 


INPUT SA 




11080 


BOTO IIOIO 




11090 


HT=1 




moo 


RETURN 




12000 


REM REWARDS 




12010 


IF HT=0 THEN RETURN 




12020 


MX=MX+10 




12030 


PRINT 




12040 


N=INT (5»RND (0) ) +1 




12050 


ON N GOTO 12070,12090, 


12110,12130,12150 


12060 


REN REWARDS 




12070 


PRINT "SREAT!" 




12080 


RETURN 




12090 


PRINT "SUPER!" 




12100 


RETURN 




12110 


PRINT "FANTASTIC!" 




12120 


RETURN 




12130 


PRINT "YOU'RE REALLY GOING NOW, ")NA« 


12140 


RETURN 




12150 


PRINT "THAT'S GREAT, " 


';na« 


12160 


RETURN 




14000 


REM WRONG 




14010 


PRINT 




14020 


IF NP=0 THEN 14070 




14030 


WR=WR+1 




14040 


NP=0 




14050 


MX-MX-10 




14060 


IF MX<1 THEN MX=10 




14070 


N=INT(S*RND(0))+1 




14080 


ON N GOTO 14100,14120, 


14140,14160,14180 


14090 


REM WRONGS 




14100 


PRINT "OOPS!" 




14110 


RETURN 




14120 


PRINT "LOOK CLOSER, "J 


;NA« 


14130 


RETURN 




14140 


PRINT "NO " 




14150 


RETURN 




14160 


PRINT "ARE YOU PAYING 


ATTENTION, ";NA« 


14170 


RETURN 




14180 


PRINT "SORRY!" 




14190 


RETURN 




15000 


REM SCORE KEEPING 




15010 


TL=TL+1 




15020 


IF TL=NU THEN 20000 




15030 


RETURN 




16000 


REM GIVE ANSWER 




16010 


HT=0 




16020 


TR=0 




16030 


PRINT "THE CORRECT ANSWER IS "iC 


16040 


PRINT "LET'S TRY ANOTHER!" 


16050 


RETURN 




20000 


REM CLOSING 




20010 


PRINT 




20020 


PRINT "THAT'S ALL!" 




20030 


PRINT 




20040 


PRINT "I HOPE YOU HAD 


FUN, ";na» 


20050 


PRINT 





193 



20060 PRINT 

20070 PRINT 

20O80 PRINT "YOU HAD ";NU-WR;" OUT OF " 

20090 PRINT NU;" PROBLEMS CORRECT!" 

20100 PRINT "YOU FINISHED AT LEVEL ";MX;"!" 

20110 END 



TABLE OF VARIABLES 

CH« 

lOlO 2260 2270 2280 2290 2300 
2540 4010 4020 4030 

NA« 

1020 2100 2130 2320 2370 12130 
12150 14120 14160 20040 

RE« 

1030 2710 2720 2730 4040 

SA« 

1040 2440 2450 



2070 2080 2580 2590 2610 2620 



NU 



2380 2400 15020 20080 20090 



MX 



2480 2520 2530 lOOlO 10020 12020 
12020 14050 14050 14060 14060 20100 



NP 



4070 4240 
14040 



4490 4590 4750 14020 



4080 4090 4120 4130 

4260 4270 4300 4310 

4510 4600 46 lO 4640 

4760 4770 10010 



4160 4250 
4340 4500 
4650 4670 



B 



4080 4090 4110 4120 4160 4250 

4260 4270 4290 4300 4340 4500 

45 lO 4600 4610 4630 4640 4670 

4760 4770 10020 



4090 4150 4150 4260 4270 4420 
4500 4610 4760 IIOIO 16030 



194 



D 

4110 4130 4290 4310 4630 4650 



SA 

4170 4360 4410 4520 4680 4780 
11010 11070 

RE 

4270 4420 

TR 

11030 11030 11040 16020 

HT 

11090 12010 16010 

N 

12040 12050 14070 14080 

MR 

14030 14030 20080 

TL 

15010 15010 15020 



PROGRAM LISTING: MICROSOFT BASIC 

lOO REM MATH TEACI^R BY GARY ORWIG 

500 REM RESEED RND 

510 RANDOMIZE 

lOOO REM INITIALIZE 

lOlO REM USE FLK.L SCREEN 

1020 POKE 82, O 

1030 CLS 

2000 REM INTRODUCTION 

2010 PRINT 

2020 PRINT "*'K-«'*««'»«**'»«*'ll-**-l(-**'K'«-«'N-'»»*'N-**«-**«'K-«-*'il"N"»*" 

2030 PRINT 

2040 PRINT ■■ MATH TEACHER" 

2050 PRINT 

2060 PRINT "*«*'it'*'ii-««***«-«*«-««'ii"ii"K-«'»«'N"ii"ii-*«'ii-«*'N-«««««'if"ii'«" 

2070 FOR T = 1 TO lOOO 

2080 NEXT T 

2090 PRINT "WHAT IS YOUR NAME"; 

2100 INPUT NA« 

21 lO PRINT 

2120 PRINT 

2130 PRINT "I AM HAPPY TO MEET YOU, ";NA»;"." 

2140 PRINT "WE ARE GOING TO PRACTICE SOME" 

2150 PRINT "MATH PROBLEMS." 

2160 REM OPERATING PARAMETERS 

2170 PRINT 

2180 PRINT 



195 



196 



2190 


PRINT 


"WOULD YOU LIKE TO PRACTICE 


2200 


PRINT 


"1. ADDITION" 


2210 


PRINT 


"2. SUBTRACTION" 


2220 


PRINT 


"3. MULTIPLICATION" 


2230 


PRINT 


"4. DIVISION" 


2240 


PRINT 




2250 


PRINT 


"(TYPE IN THE NUMBER YOU WANT)" 


22&0 


INPUT 


CH* 


2270 


IF CH* 


= "1" THEN 2350 


2280 


IF CH« 


= "2" THEN 2350 


2290 


IF CH« 


= "3" THEN 2350 


2300 


IF CH« 


= "4" THEN 2350 


2310 


PRINT 




2320 


PRINT 


"PLEASE PAY ATTENTION, "NA* 


2330 


PRINT 


"TYPE IN ONLY A 1,2,3, OR 4!" 


2340 


GOTO 2200 


2350 


PRINT 




2360 


PRINT 


"HOW MANY PROBLEMS DO YOU" 


2370 


PRINT 


"WANT, ";na«; 


2380 


INPUT 


NU 


2390 


PRINT 




2400 


PRINT 


"VERY GOOD, ";NU;" it WILL BE!" 


2410 


PRINT 




2420 


PRINT 


"DO YOU KNOW WHAT LEVFI YOU WANT TO 


2430 


PRINT 


"START AT (YES OR NO)?" 


2440 


INPUT 


SA« 


2450 


IF SA« 


> = "YES" THEN 2510 


2460 


PRINT 


"OK, I WILL START OUT EASY AND GET" 


2470 


PRINT 


"HARDER AS WE 60." 


2480 


MX = 10 


2490 


PRINT 




2500 


SOTO 2540 


2510 


PRINT 


"WHAT LEVEL DO YOU WANT TO START AT 


2520 


INPUT 


MX 


2530 


PRINT 


"OK, ";mx;" it will be!" 


2540 


IF CH« = "4" THEN 2680 


2550 


PRINT 




2560 


PRINT 


"I AM NOW READY TO START!" 


2570 


PRINT 




2580 


FOR T 


= 1 TO 500 


2590 


NEXT T 


2600 


PRINT 


"HERE WE 60! !" 


2610 


FOR T 


= 1 TO 500 


2620 


NEXT T 


2630 


PRINT 




2640 


PRINT 




2650 


PRINT 




2660 


PRINT 




2670 


SOTO 4000 


2680 


PRINT 




2690 


PRINT 


"DO YOU WANT DIVISION PROBLEMS" 


2700 


PRINT 


"WITH REMAINDERS (YES OR NO)"; 


2710 


INPUT 


RE« 


2720 


IF RE« = "YES" THEN 2780 


2730 


IF RE* = "NO" THEN 2780 


2740 


PRINT 




2750 


PRINT 


"JUST TYPE A 'YES' OR 'NO' PLEASE" 



27&0 PRINT 

2770 60T0 2680 

2780 GOTO 2550 

4000 REM MAIN PROGRAM 

4010 IF CH* = "1" THEN 4730 

4020 IF CH* = "2" THEN 4570 

4030 IF CH* = "3" THEN 4470 

4040 IF RE* = "YES" THEN 4220 

4050 REM DIVISION WITHOUT REMAINDER 

4060 GOSUB lOOOO 

4070 NP = 1 

4080 IF A < B THEN 4110 

4090 C = A / B 

4100 GOTO 4150 

4110 D = B 

4120 B = A 

4130 A = D 

4140 GOTO 4090 

4150 IF C - INT <C) > O THEN 4060 

4160 PRINT A;" DIVIDED BY ";B;" EQUALS' 

4170 INPUT SA 

4180 GOSUB llOOO 

4190 GOSUB 12000 

4200 GOSUB 15000 

42 lO GOTO 4050 

4220 REM DIVISION WITH REMAINDER 

4230 GOSUB lOOOO 



4240 


NP = 


1 




4250 


IF A 


< B THEN 


42 


4260 


C = 


INT (A / 


B) 


4270 


RE = 


A - (C * 


B) 



4280 GOTO 4330 

4290 D = B 

4300 B = A 

4310 A = D 

4320 GOTO 4260 

4330 PRINT 

4340 PRINT A;" DIVIDED BY ••;B;" EQUALS?' 

4350 PRINT "WHAT IS THE WHOLE NUMBER"; 

4360 INPUT SA 

4370 GOSUB llOOO 

4380 GOSUB 12000 

4390 PRINT "AND WHAT IS THE REMAINDER?" 

4400 PRINT "TYPE IN O IF THERE IS NONE.' 

44 lO INPUT SA 

4420 C = RE 

4430 GOSUB llOOO 

4440 GOSUB 12000 

4450 GOSUB 15000 

4460 GOTO 4220 

4470 REM MULTIPLICATION 

4480 GOSUB lOOOO 

4490 NP = 1 

4500 C = A ♦ B 

4510 PRINT a;" TIMES ";B;" EQUALS"; 

4520 INPUT SA 

4530 GOSUB llOOO 



197 



n I Nus " ; B ; " equals " ; 



4540 GOSUB 12000 
4550 GOSUB 15000 
4560 GOTO 4470 
4570 REM SUBTRACTION 
4580 GOSUB lOOOO 
4590 NP = 1 

4600 IF A < B THEN 4630 
4610 C = A - B 
4620 GOTO 4670 
4630 D = B 
4640 B = A 
4650 A » D 
4660 GOTO 4610 
4670 PRINT A; 
4680 INPUT SA 
4690 GOSUB 11000 
12000 
15000 
GOTO 4370 
REM ADDITION 
GOSUB lOOOO 
NP = 1 
C = A + B 

PRINT A;" PLUS ";B;" EQUALS"; 
INPUT SA 
GOSUB llOOO 
GOSUB 12000 
GOSUB 15000 
GOTO 4730 
REM RANDOM I Z AT I ON 
A = RND<MX) 
B = RND<MX) 
RETURN 

REM JUDGE ANSWER 
IF SA = C THEN 11090 
GOSUB 14000 
TR = TR + 1 
IF TR = 3 THEN 16000 
PRINT 

PRINT "TRY AGAIN!" 
INPUT SA 
GOTO 11010 
HT = 1 
RETURN 

REM REWARDS 
IF HT = O THEN RETURN 
MX = MX + 10 
PRINT 

N = RND(5) 

ON N GOTO 12070,12090,12110,12130,12150 
REM REWARDS 
PRINT "GREAT!" 
RETlfl^N 

PRINT "SUPER!" 
RETURN 
PRINT "FANTASTIC!" 



INPUT 
GOSUB 

4700 GOSUB 

4710 GOSUB 

4720 

4730 

4740 

4750 

4760 

4770 

4780 

4790 

4800 

4810 

4820 

lOOOO 

lOOlO 

10020 

10030 

llOOO 

IIOIO 

11020 

11030 

11040 

11050 

11060 

11070 

11080 

11090 

moo 

12000 
12010 
12020 
12030 
12040 
12050 
12060 
12O70 
12080 
12090 
12100 
12110 



198 



12120 RETURN 

12130 PRINT "YOU'RE REALLY GOING NOW, ";NA« 

12140 RETURN 

12150 PRINT "THAT'S GREAT, ";NA* 

12160 RETURN 

14000 REM WRONG 

14010 PRINT 

14020 IF NP = O THEN 14070 

14030 WR = WR + 1 

14040 NP = O 

14050 MX = MX - 10 

14060 IF MX < 1 THEN MX = lO 

14070 N = RND(5) 

14080 €H N GOTO 14100,14120,14140,14160,14180 

14090 REM WRONGS 

14100 PRINT "OOPS!" 

14110 RETLWN 

14120 PRINT "LOOK CLOSER, ";NA* 

14130 RETURN 

14140 PRINT "NO " 

14150 RETURN 

14160 PRINT "ARE YOU PAYING ATTENTION, ";NA* 

14170 RETURN 

14180 PRINT "SORRY!" 

14190 RETURN 

15000 REM SCORE KEEPING 

15010 TL = TL + 1 

15020 IF TL = NU THEN 20000 

15030 RETURN 

16OO0 REM GIVE ANSWER 

16010 HT = O 

16020 TR = O 

16030 PRINT "THE CORRECT ANSWER IS ";C 

16040 PRINT "LET'S TRY ANOTHER!" 

16050 RETURN 

20000 REM CLOSING 

20010 PRINT 

20020 PRINT "THAT'S ALL!" 

20030 PRINT 

20040 PRINT "I HOPE YOU HAD FUN, ";NA« 

20050 PRINT 

20060 PRINT 

20070 PRINT 

20080 PRINT "YOU HAD ";NU - WR; " OUT OF " 

20090 PRINT NU;" PROBLEMS CORRECT!" 

20100 PRINT "YOU FINISHED AT LEVEL ";MX;"!" 

20110 END 



TABLE OF VARIABLES 

A - ONE NUMBER 

4080 4090 4120 4130 4160 4250 
4260 4270 4300 4310 4340 4500 
4510 4600 4610 4640 4650 4670 
4760 4770 10010 



199 



B - THE OTHER NUMBER 
40BO 4090 4110 4120 4160 4250 
4260 4270 4290 4300 4340 4500 
45 lO 4600 4610 4630 4640 4670 
4760 4770 10020 

C - CORRECT ANSWER 

4090 4150 4150 4260 4270 4420 

4500 4610 4760 IIOIO 16030 

CH* - STUDENT CHOICE 

2260 2270 2280 2290 2300 2540 

4010 4020 4030 

D - TRANSFER VARIABLE 

4110 4130 4290 4310 4630 4650 

HT - HIT 

11090 12010 16010 

MX - MAXIMUM FOR A AND B 
2480 2520 2530 10010 10020 
12020 12020 14050 14050 14060 
14060 20100 

N - RANDOM NUMBER 
12040 12050 14070 14080 

NA« - NAME 

2100 2130 2320 2370 12130 12150 

14120 14160 20040 

NP - FLAG FOR WRONG ANSWER 
4070 4240 4490 4590 4750 14020 
14040 

NU - NUMBER OF PROBLEMS 
2380 2400 15020 20080 20090 

RE - REMAINDER 
4270 4420 

RE« - FLAG FOR DIVISION WITH REMAINDER 
2710 2720 2730 4040 

SA - STUDENT ANSWER 

4170 4360 4410 4520 4680 4780 

llOlO 11070 

SA* - STUDENT ANSWER 
2440 2450 

T - DELAY 

2070 2080 2580 2590 26 lO 2620 

TL - NUMBER OF PROBLEMS WORKED 

15010 15010 15020 
200 



TR - NUMBER OF TRIES 
11030 11030 11040 16020 

WR - NUMBER WRONG 
14030 14030 20080 

END OF VAR. LIST 



SAMPLE RUN 

WHAT IS YOUR NAME7RANDY 



I AM HAPPY TO MEET YOU, RANDY. 
WE ARE GOING TO PRACTICE SOME 
MATH PROBLEMS. 



WOULD YOU LIKE TO PRACTICE: 

1. ADDITION 

2. SUBTRACTION 

3. MULTIPLICATION 

4. DIVISION 

(TYPE IN THE NUMBER YOU WANT) 
?3 

HOW MANY PROBLEMS DO YOU 
WANT, RANDY75 

VERY GOOD, 5 IT WILL BE! 

DO YOU KNOW WHAT LEVEL YOU WANT TO 

START AT (YES OR NO)? 

?NO 

OK, I WILL START OUT EASY AND GET 

HARDER AS WE GO. 



I AM NOW READY TO START! 
HERE WE GO ! ! 



3 TIMES 2 EQUALS?^ 

SUPER ! 

9 TIMES 2 EQUALS? 18 

GREAT ! 

3 TIMES 11 EQUALS?33 

THAT'S GREAT, RANDY 

32 TIMES 20 EQUALS?620 

201 



OOPS! 

TRY AGAIN! 
?&40 

THAT'S GREAT, RANDY 
30 TIMES 17 EQUALS7510 

FANTASTIC! 

THAT'S ALL! 

I HOPE YOU HAD FUN, RANDY 



YOU HAD 4 OUT OF 

5 PROBLEMS CORRECT! 

YOU FINISHED AT LEVEL 50! 



202 



^asure With the 
Metric 




Metrics 



PROGRAM DESCRIPTION 

Understanding the metric system is essential in communi- 
cating knowledge among the nations of the world as well as 
developing skills to work within the realms of science. In this 
program the computer gives you an initial quiz (pre-test) on 
metrics and if you get all of the answers correct you don't have to 
continue the program. For those of you who don't receive a perfect 
score on the pre-test, the computer instructs you on metrics and 
then gives you a test at the end of the instruction (a post-test). If 
you receive less than a perfect score on the post-test, the computer 
will send you back to the part of the instruction that you missed in 
the post-test. 



PROGRAM NOTES 

1. Vary the text and questions to match your needs. 

2. Notice Hne 4500. It allows either "1" or "2.5" to be entered as 
the correct answer. Consider using A, B, C, or D as the 
multiple choice selections. 



PROGRAM LISTING: BASIC 

100 REM METRICS BY GARY ORWIG 
lOOO REM INITIALIZATION 
lOlO DIM SA«(10) 
1020 REM USE FULL SCREEN 



203 



204 



1030 

1040 

2000 

2010 

2020 

2030 

2040 

2050 

2060 

2070 

2080 

2090 

2100 

2110 

2120 

2130 

2140 

2150 

2160 

2170 

2180 

21 90 

2200 

2210 

2220 

2230 

3000 

30 lO 

3020 

3030 

3040 

3050 

4000 

4010 

4020 

4030 

4040 

4050 

4060 

4070 

4080 

4090 

4100 

4110 

4120 

4130 

4140 

4150 

4160 

4170 

4180 

4190 

4200 

4210 

4220 

4230 

4240 



METRICS" 



19000 

18000 

"THIS IS A PROGRAM ABOUT THE METRIC" 

"SYSTEM. " 

"WOULD YOU LIKE TO TAKE A QUIZ TO SEE" 
"IF YOU ALREADY KNOW ABOUT THE METRIC" 
"SYSTEM (YES OR NO)?" 



THEN 2220 

LOOK AT THE METRIC SYSTEM!" 



POKE 82,0 

PRINT 

REM INTRODUCTION 

L=12 

60SUB 18000 

PRINT " 

60SUB 18000 

D=200 

GOSUB 

GOSUB 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

L=6 

GOSUB 18000 

INPUT SA« 

IF SA*="YES' 

PRINT "LET'S 

D=200 

GOSUB 19000 

GOTO 3000 

GOSUB 7000 

GOTO 20000 

REM GUIDING PROGRAM 

GOSUB 4000 

GOSUB 5000 

GOSUB 6000 

GOSUB 7000 

GOTO 20000 

REM DISTANCE 

L=24 

18000 

"THE BASIC UNIT OF LENGTH IN THE METRIC" 
"SYSTEM IS THE 'METER.' AT FIRST THE" 
"METER WAS DEFINED AS ONE TEN MILLIONTH" 
"THE DISTANCE FROM THE EQUATOR TO THE" 
"NORTH POLE. HOWEVER, IT SOON BECfkME" 
"EVIDENT THAT THIS DISTANCE IS VERY HARD" 
"TO MEASURE EVERY TIhE THE STANDARD" 
"NEEDED TO BE CHECKED!" 



GOSUB 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

L=6 

GOSUB 

GOSUB 

L=24 

GOSUB 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 



"PRESENTLY THE METER IS DEFINED ON THE" 
"BASIS OF A VERY ACCURATELY MEASURED" 
"WAVELENGTH OF LIGHT. " 

18000 
17000 

18000 

"THE METRIC UNITS OF LENGTH lnMICH ARE" 

"COMMONLY USED ARE:" 

MILLIMETER" 
CENTIMETER" 



4250 

42&0 

4270 

4280 

4290 

4300 

4310 

4320 

4330 

4340 

4350 

4360 

4370 

4380 

4390 

4400 

4410 

4420 

4430 

4440 

4450 

4460 

4470 

4480 

4490 

4500 

4510 

4520 

4330 

4540 

4550 

4560 

4570 

4S80 

4590 

4600 

4610 

4620 

4630 

4640 

4650 

4660 

4670 

4680 

4690 

4700 

4710 

4720 

4730 

4740 

4750 

4760 

4770 

4780 

4790 

4800 

5000 



METER" 
KILOMETER" 

'THE MILLIMETER IS 



I/IOOO OF A hETER" 
I/IO OF A CENTIMETER' 



"THE CENTIMETER IS l/lOO OF A METER' 



•THE KILOMETER IS lOOO KETERS. 



18000 
17000 

18000 

"LET'S TRY A 
"PROBLEMS. " 



COUPLE OF SIMPLE CONVERSION* 



'25 MILLIMETERS EQUALS:" 

1. 2.5" 

2. .25" 

3. 32. " 

CENTIMETERS" 



PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

L=6 

60SUB 

60SUB 

L=24 

GOSUB 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

L=8 

GOSUB 18000 

INPUT SA 

IF SA=2.5 THEN SA=1 

ON SA GOTO 4520,4540,4570 

GOSUB 12000 

GOTO 4600 

PRINT "lO MILLIMETERS EQUAL 1 CENTIMETER." 

PRINT "25 MILLIMETERS EQUAL ? CENTIMETERS."; 

GOTO 4490 

GOSUB IIOIO 

PRINT 

GOTO 44 lO 

PRINT "HERE IS ANOTHER PROBLEM." 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

L=7 

GOSUB 18000 

INPUT SA 

IF SA=520 THEN SA=3 

ON SA GOTO 4730,4760,4790 

PRINT "1 KILOMETER EQUALS 1000 METERS' 

PRINT ".52 KILOMETERS EQUALS ? METERS' 

GOTO 4700 

GOSUB llOlO 

PRINT "THINK ABOUT IT!" 

GOTO 4610 

GOSUB 12000 

RETURN 

REM VOLUME 



52 KILOMETERS EQUALS: 



1. 
2. 
3. 



52 METERS" 
760 METERS' 
520 METERS' 



205 



206 



5010 

5020 

5030 

5040 

50SO 

5060 

5070 

5080 

5090 

5100 

5110 

5120 

5130 

5140 

5150 

SISO 

5170 

S180 

5190 

5200 

5210 

5220 

5230 

5240 

5250 

5260 

5270 

5280 

5290 

5300 

5310 

5320 

5330 

5340 

5350 

5360 

5370 

5380 

5390 

5400 

54 lO 
5420 
5430 
5440 
5450 
5460 
5470 
5480 
5490 
5500 

55 lO 
5520 
5530 
5540 
5550 
5560 
5570 



18000 

"THE METRIC UNIT FOR VOLUME IS BASED" 

"UPON THE METRIC UNIT OF LENGTH." 

"IF A CUBE WERE CONSTRUCTED SO THAT IT" 
"WAS EXACTLY .1 METERS ON EACH SIDE," 
"IT COULD HOLD ONE LITER OF MATERIAL." 

"THE LITER, THEN, IS THE BASIC METRIC" 
"UNIT FOR VOLUME- THE LITER IS NOT TCM3" 
"DIFFERENT IN SIZE FROM THE QUART." 

"IF A CUBE WERE FORMED EXACTLY ONE" 
"CENTIMETER ON A SIDE, WE WOULD CALL IT" 
"A 'CUBIC CENTIMETER.' THIS VERY SMALL" 
"UNIT IS EXACTLY .OOl LITERS, SO WE" 
"ALSO CALL IT A 'MILLILITER.'" 



"THE TERM 'CUBIC CENTIMETER' OR 'CC' 
"THE TERM 'MILLILITER' OR 'ML' BOTH' 
"MEAN THE SAME AMOUNT OF VOLUME - " 
"ONE ONE THOUSANDTH OF A LITER." 

17000 



AND" 



L=12 
GOSUB 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
GOSUB 
L=12 
GOSUB 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
L=9 

GOSUB 18000 
INPUT SA 

IF SA=10 THEN SA==3 
ON SA GOTO 5420,5450,5470 
GOSUB 12000 

PRINT "YOU ARE RIGHT! THEY ARE THE SAME!" 
GOTO 5520 
GOSUB 11170 
GOTO 5290 
PRINT 

PRINT "YCMJ DID NOT READ VERY CLOSELY!" 
PRINT "THERE IS SOMETHING VERY 'UNIQUE'" 
PRINT "ABOUT THESE TWO UNITS!" 
GOTO 5290 
PRINT 

PRINT "WHAT IS THE VOLUME OF A BOX (IN LITERS)" 
IF IT MEASURES .50 METERS BY .30 METERS" 
.20 METERS?" 



18000 
"HERE ARE 



A COUPLE OF QUESTIONS: 



"HOW MMMY CUBIC CENTIMETERS ARB IN A 
"MILLITER?" 



1. 


1" 


2. 


2" 


3. 


lO" 



PRINT 
PRINT "BY 
PRINT 
PRINT " 



1. 50 LITERS" 



SS80 

5590 

S600 

5610 

5620 

5630 

5640 

5650 

5660 

5670 

5680 

5690 

5700 

5710 

5720 

5730 

5740 

5750 

5760 

5770 

5780 

5790 

5800 

5810 

5820 

5830 

5840 

5850 

S860 

5870 

5880 

6000 

6010 

6020 

6030 

6040 

6050 

6060 

6070 

6080 

6090 

6100 

6110 

6120 

6130 

6140 

6150 

6160 

6170 

6180 

6190 

6200 

6210 

6220 

6230 

6240 

6250 



PRINT " 2. 30 LITERS" 

PRINT " 3. 10 LITERS" 

L=8 

60SUB 18000 

INPUT SA 

IF SA=:50 THEN 3A=1 

IF SA=30 THEN SA«2 

IF SA==10 THEN SA=3 

ON SA 60TO 5690,5670,5690 

60SUB 12000 

GOTO 5860 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

GOSUB 

L=12 

GOSUB 

GOTO 5520 

L=12 

GOSUB 18000 

RETURN 

REM MASS 

L=12 



"REMEMBER THAT A LITER IS DEFINED AS THE" 
"VOLUME OF A CUBE . 10 METERS ON EACH" 
"SIDE. ALTHOUGH THE TERM FOR .10 METER" 
"ISN'T USED VERY MUCH, IT IS CALLED A" 
"'DECIMETER.' IF YOU CONVERT THE METER" 
"MEASUREMENTS TO DECIMETERS (.5 METERS" 
"EQUALS 5. DECIMETERS) AND MULTIPLY ALL" 
"THREE TOGETHER, YOU WILL END UP WITH" 
"THE VOLUME IN CUBIC DECIMETERS OR" 
"WHAT WE CALL LITERS!" 

17000 

laooo 



GOSUB 18000 

PRINT "Tl« METRIC UNIT FOR MASS IS THE 'GRAM.'" 

PRINT "ORIGINALLY THE GRAM WAS DEFINED AS THE" 

PRINT "MASS OF 1 CUBIC CENTIMETER OF WATER" 

PRINT "UNDER CONTROLLED CONDITIONS." 

PRINT "NOW THERE ARE MORE ACCURATE METHODS FOR" 

PRINT "DEFINING THE GRAM." 

PRINT 

PRINT "SINCE THE GRAM IS A SMALL UNIT OF" 

PRINT "MEASURE (A NICKEL HAS A MASS OF ABOUT" 

PRINT "5 GRAMS) , A LARGER UNIT IS ALSO USED. " 

PRINT "THE 'KILOGRAM' IS lOOO GRAMS." 

PRINT 

PRINT 

GOSUB 

PRINT 

PRINT 

L=6 

GOSUB 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 



17000 

"HERE ARE A COUPLE OF QUESTIONS. 



18000 

"UNDER CONTROLLED CONDITIONS, WHAT WOLflLD* 

"BE THE MASS OF 1 . O LITER OF WATER?" 

1. lO GRAMS" 

2. lOO GRAMS" 

3. lOOO GRAMS" 



207 



6260 

6270 

6280 

6290 

6300 

6310 

6320 

6330 

6340 

6330 

6360 

6370 

6380 

6390 

6400 

64 lO 

6420 

6430 

6440 

6450 

6460 

6470 

6480 

6490 

6500 

6S10 

6520 

6530 

6S40 

6550 

6560 

6570 

6580 

6590 

6600 

6610 

6620 

6630 

6640 

6650 

6660 

6670 

6680 

7000 

70 lO 

7020 

7030 

7040 

7050 

7060 

7070 

7080 

7090 

7100 

7110 

7120 



L=8 

60SUB 18000 

INPUT SA 

IF SA=10 THEN SA»1 

IF SA^lOO THEN 8A«2 

IF SA=1000 THEN SA»3 

ON SA SOTO 6330,6330,6430 

L=12 

18000 

"A LITER CONTAINS 1000 CUBIC CENTIMETERS.' 
"SINCE A CUBIC CENTIMETER OF WATER HAS A" 
"MASS OF 1.0 6RAM, WHAT WOULD BE THE" 
"MASS OF 1000 CUBIC CENTIMETERS OF WATER?' 



60SUB 

PRINT 

PRINT 

PRINT 

PRINT 

L=7 

60SUB 



18000 



60SUB 17<X>0 
GOTO 6190 
60SUB 12000 
L=12 
60SUB 18000 



HOW MANY GRAMS ARE 

1. 45.0 " 

2. 450" 

3. 900" 



l.O KILOGRAMS " 1000 GRAMS' 
.450 KILOGRAMS - ? GRAMS" 



PRINT 

PRINT 

PRINT 

PRINT 

L=9 

GOSUB 18000 

INPUT SA 

IF SA-45 THEN SA=1 

IF SA=450 THEN SA=2 

IF SA=900 THEN SA«3 

ON SA GOTO 6570,6640,6660 

GOSUB 11170 

PRINT 

PRINT 

PRINT 

PRINT 

L=6 

GOTO 6450 

GOSUB 12000 

GOTO 6680 

GOSUB 11010 

GOTO 6440 

RETURN 

REM POST TEST 

L=12 

GOSUB 18000 

PRINT " QUIZ!" 

L=6 

GOSUB 

PRINT 

PRINT 

PRINT " 

PRINT " 

PRINT " 

L=8 

GOSUB 18000 



IN .4SO KILOGRAMS?' 



18000 
"WHAT 



IS THE METRIC UNIT FOR VOLUME?" 



1. 
2. 
3. 



METER" 
LITER" 
GRAM" 



208 



7130 
7140 
7150 
7160 
7170 
7180 
7190 
7200 
7210 
7220 
7230 
7240 
7250 
TZbXt 

yz7o 

7280 

7290 

7300 

7310 

7320 

7330 

7340 

7350 

7360 

7370 

7380 

7390 

7400 

7410 

7420 

7430 

7440 

7450 

7460 

7470 

7480 

7490 

7500 

7510 

7520 

7530 

7540 

7550 

7560 

7570 

7580 

7590 

7600 

7610 

7620 

7630 

7640 

7650 

7660 

7670 

7680 



INPUT SA 

ON SA GOTO 7150,7170,7150 

v=o 

SOTO 7180 

V=l 

L=12 

60SUB 18000 

PRINT "HOW MANY CENTIMETERS ARE IN 2.0 METERS?" 

PRINT 

PRINT " 1. 20" 

PRINT " 2. 200" 

PRINT " 3. 2000" 

L=8 

60SUB 18000 

INPUT SA 

IF SA=20 THEN SA=1 

IF SA=200 THEN SA=2 

IF SA=2000 THEN SA=3 

ON SA GOTO 7320,7340,7320 

DI=0 

60TO 7350 

DI=1 

L=12 

GOSUB 18000 

PRINT "2500 GRAMS WOULD BE HOW MANY KILOGRAMS?" 

PRINT 

PRINT " 1. 2.5" 

PRINT " 2. 25" 

PRINT " 3. 250" 

L=8 

GOSUB 18000 

INPUT SA 

IF SA=2.5 THEN SA=1 

IF SA=25 THEN SA=2 

IF SA=250 THEN SA*3 

ON SA GOTO 7490,7510,7510 

MA=1 

GOTO 7520 

MA=0 

REM SUMMARY 

IF DI=0 THEN GOTO 7570 

IF V=0 THEN GOTO 7620 

IF MA=0 THEN GOTO 7670 

RETURN 

PRINT "WE ARE GOING TO REVIEW DISTANCE." 

D=200 

GOSUB 19000 

GOSUB 4000 

GOTO 7540 

PRINT "WE ARE GOING TO REVIEW VOLUME." 

D=200 

GOSUB 19000 

GOSUB SOOO 

GOTO 7550 

PRINT "WE ARE GOING TO REVIEW MASS." 

D=200 



209 



ROUTINES 



IN THE METRIC SYSTEM, CONVERSIONS ALWAYS' 
ARE SOME POWER OF TEN. FOR EXAMPLE," 
135. CENT I INTERS BECOMES 1.35 INTERS." 



"NOTICE HOW THE SAhE DIGITS 
"ANSWERS? ONLY THE DECIMAL 
"(POWERS OF TEN) CHANGES." 



7690 GOSUB 19000 

7700 GOSUB 6000 

7710 GOTO 7560 

llOOO REM CORRECTION 

IIOIO PRINT 

11020 PRINT 

11030 PRINT 

11040 PRINT 

llOSO PRINT 

11060 PRINT 

11070 PRINT 

llOaO PRINT 

11090 PRINT 

moo PRINT 

llllO PRINT 

11120 PRINT 

11130 L=8 

11140 GOSUB 

11150 GOSUB 

11160 RETURN 

11170 PRINT 

11180 PRINT 

11190 PRINT 

11200 PRINT 

11210 PRINT 

11220 PRINT 

11230 PRINT 

11240 PRINT 

11250 PRINT 

11260 PRINT 

11270 PRINT 

11280 GOSUB 

11290 RETURN 

12000 REM REWARDS 

12010 L=24 

12020 GOSUB 

12030 PRINT "VERY GOOD! 

12040 L=12 

12050 GOSUB 

12060 D=200 

12070 GOSUB 

12080 GOSUB 

12090 RETURN 

17000 REM PRESS RETURN 

17010 PRINT "PRESS 'RETURN' 

17020 INPUT SA» 

17030 RETURN 

18000 REM SCROLLING 

18010 FOR 1=1 TO L 

18020 PRINT 

18030 NEXT I 

18040 RETURN 

19000 REM DELAY 

19010 FOR 1=1 TO D 

19020 NEXT I 

19030 RETURN 



ARE IN BOTH" 
POINT" 



OI>«LY THE DECIMAL" 



"IN A METRIC CONVERSION, 
"CHANGES POSITION!" 

18000 
17000 



"IN THE METRIC SYSTEM, ANY UNIT WILL" 
"ALWAYS BE SOME POWER OF TEN BIGGER OR" 
"SMALLER THAN ANOTHER UNIT. " 

"(.001, .Ol, .1, 1, lO, lOO, lOOO)" 

"BOTH UNITS MUST MEASURE THE S«1E" 
"PHYSICAL DIMENSION, THOUGH." 
"(DISTANCE, VOLUME, MASS, ETC.)" 

17000 



18000 
"VERY 

18000 

19000 
18000 



TO CONTINUE. 



210 



20000 REM CLOSING 

20010 L=12 

20020 60SUB 18000 

20030 PRINT "WE ARE FINISHED!" 

20040 PRINT "I HOPE YOU HAD A OOOD TIME!" 

200S0 60SUB 18000 

20060 END 



TABLE OF VARIABLES 



SA« 












lOlO 


2160 


2170 


17020 






L 

2010 


2140 


4010 


4150 


4180 


4340 


4370 


4470 


4680 


5010 


5260 


5370 


5600 


5830 


5860 


6010 


6190 


6260 


6330 


6390 


6440 


6500 


6620 


7010 


7040 


7110 


7180 


7250 


7350 


7420 



11130 12010 12040 18010 20010 



SA 



2050 


2190 


7580 


7630 


7680 


1206< 


19010 












1 
4490 


4500 


4500 


4510 


4700 


4710 


4710 


4720 


5390 


5400 


5400 


5410 


5620 


5630 


5630 


5640 


5640 


5650 


56SO 


5660 


6280 


6290 


6290 


6300 


6300 


631 


6310 


6320 


6520 


6530 


6530 


6540 


6540 


6550 


6550 


6560 


7130 


7140 


7270 


7280 


7280 


7290 


7290 


7300 


7300 


7310 


7440 


7450 


7450 


7460 


7460 


7470 


7470 


7480 



V 



7150 7170 7540 



DI 



7320 7340 7530 



MA 



7490 7510 7550 



18010 18030 19010 19020 



PROGRAM LISTING: MICROSOFT BASIC 

lOO REM METRICS BY GARY ORWIG 
lOOO REM INITIALIZATION 
lOlO REM USE FULL SCREEN 



211 



212 



1020 

1030 

2000 

2010 

2020 

2030 

2040 

2050 

2060 

2070 

2080 

2090 

2100 

2110 

2120 

2130 

2140 

2150 

2160 

2170 

2180 

2190 

2200 

2210 

2220 

2230 

3000 

3010 

3020 

3030 

3040 

3050 

4000 

4010 

4020 

4030 

4040 

4050 

4060 

4070 

4080 

4090 

4100 

4110 

4120 

4130 

4140 

4150 

4160 

4170 

4180 

4190 

4200 

4210 

4220 

4230 

4240 



POKE 82,0 

CLS 

REM INTRODUCTION 

L = 12 

GOSUB 18000 

PRINT " METRICS" 

GOSUB 18000 

D = 1000 

GOSUB 19000 

GOSUB 18000 

"THIS IS A PROGRAM ABOUT THE METRIC" 

"SYSTEM. " 



WOULD YOU LIKE TO TAKE A QUIZ TO SEE<' 
IF YOU ALREADY KNOW ABOUT THE METRIC" 
SYSTEM (YES OR NO)?" 



PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

L = 6 

GOSUB 18000 

INPUT SA* 

IF SA* = "YES" THEN 2220 

PRINT "LET'S LOOK AT THE METRIC SYSTEM!" 

D = lOOO 

GOSUB 19000 

GOTO 3000 

GOSUB 7000 

GOTO 20000 

REM GUIDING PROGRfWI 

GOSUB 4000 

GOSUB SOOO 

GOSUB 6000 

GOSUB 7000 

GOTO 20000 

REM DISTANCE 

L = 24 

GOSUB 18000 

"THE BASIC UNIT OF LENGTH IN THE METRIC" 
"SYSTEM IS THE 'METER,' AT FIRST THE" 
"METER WAS DEFINED AS ONE TEN MILLIONTH" 
"THE DISTANCE FROM THE EQUATOR TO THE" 
"NORTH POLE. HOWEVER, IT SOON BECAME" 
"EVIDENT THAT THIS DISTANCE IS VERY HARD' 
"TO MEASURE EVERY TIME THE STANDARD" 
"NEEDED TO BE CHECKED ! " 



PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

L = 6 

GOSUB 

GOSUB 

L = 24 

GOSUB 18000 



"PRESENTLY THE METER IS DEFINED ON THE" 
"BASIS OF A VERY ACCURATELY MEASURED" 
"WAVELENGTH OF LIGHT." 

18000 
17000 



PRINT 
PRINT 
PRINT 
PRINT 
PRINT 



"THE METRIC UNITS OF LENGTH WHICH ARE" 
"COMMONLY USED ARE:" 

MILLIMETER" 
CENTIMETER" 



4250 

4260 

4270 

4280 

4290 

4300 

4310 

4320 

4330 

4340 

4350 

4360 

4370 

4380 

4390 

4400 

4410 

4420 

4430 

4440 

4450 

4460 

4470 

4480 

4490 

4500 

4510 

4520 

4530 

4540 

4550 

4560 

4570 

4580 

4590 

4600 

4610 

4620 

4630 

4640 

4650 

4660 

4670 

4680 

4690 

4700 

4710 

4720 

4730 

4740 

4750 

4760 

4770 

4780 

4790 

4800 

5000 



METER" 
KILOMETER' 



I/IOOO OF A METER" 
I/IO OF A CENTIMETER" 



THE CENTIMETER IS l/lOO OF A METER' 



PRINT 

PRINT 

PRINT 

PRINT "THE MILLIMETER IS 

PRINT " 

PRINT 

PRINT 

PRINT 

PRINT 

L = 6 

60SUB 18000 

60SUB 17000 

L = 24 

60SUB 18000 



'THE KILOMETER IS lOOO r«TERS. 



"LET'S TRY 
"PROBLEMS. ■ 



"25 MILLIMETERS EQUALS:" 

1. 2.5" 

2. .25" 

3. 32." 
CENTIMETERS" 

18000 



PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
L = 8 

eosuB 

INPUT SA 

IF SA = 2.5 THEN SA = 1 

ON SA GOTO 4520,4540,4570 

60SUB 12000 

GOTO 4600 

PRINT "10 MILLIMETERS EQUAL 

PRINT "25 MILLIMETERS EQUAL 

GOTO 4490 

GOSUB IIOIO 

PRINT 

GOTO 44 lO 

PRINT "HERE IS ANOTHER PROBLEM 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

L = 7 

GOSUB 

INPUT 



A COUPLE OF SIMPLE CONVERSION" 



1 

•7 



CENTir«TER. • 
CENTIMETERS. 



,52 KILOMETERS EQUALS: 

1. 52 METERS 

2. 760 METERS 

3. 520 METERS 



18000 

SA 

IF SA = 520 THEN SA = 3 
ON SA GOTO 4730,4760,4790 
PRINT "1 KILOMETER EQUALS lOOO METERS" 
PRINT ".52 KILOMETERS EQUALS ? METERS' 
GOTO 4700 
GOSUB llOlO 

PRINT "THINK ABOUT IT!" 
GOTO 4610 
GOSUB 12000 
RETURN 
REM VOLUME 



213 



214 



5010 

5020 

5030 

5040 

5050 

5060 

5070 

5080 

5090 

5100 

5110 

5120 

5130 

S140 

5150 

5160 

5170 

5180 

5190 

5200 

5210 

5220 

5230 

5240 

5250 

5260 

5270 

5280 

5290 

5300 

5310 

5320 

5330 

5340 

5350 

5360 

5370 

5380 

5390 

5400 

5410 

5420 

5430 

5440 

5450 

5460 

5470 

5480 

5490 

5500 

5510 

5520 

5530 

5540 

5550 

S560 

5570 



L = 12 
GOSUB 18000 



PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 



"THE METRIC UNIT FOR VOLUME IS BASED" 
"UPON THE METRIC UNIT OF LENGTH." 

"IF A CUBE WERE CONSTRUCTED SO THAT IT" 
"WAS EXACTLY .1 METERS ON EACH SIDE," 
"IT COULD HOLD ONE LITER OF MATERIAL." 

"THE LITER, THEN, IS THE BASIC METRIC" 
"UNIT FOR VOLUME. THE LITER IS NOT TOO" 
"DIFFERENT IN SIZE FROM THE QUART." 

"IF A CUBE WERE FORMED EXACTLY ONE" 
"CENTIMETER ON A SIDE, WE WOULD CMJL IT" 
"A 'CUBIC CENTIMETER.' THIS VERY SMALL" 
"UNIT IS EXACTLY .001 LITERS, SO WE" 
"ALSO CALL IT A 'MILLILITER.'" 



"THE TERM 'CUBIC CENTIMETER' OR 'CC AND" 
"THE TERM 'MILLILITER' OR 'ML' BOTH" 
"MEAN THE SAME AMOUNT OF VOLUME - " 

PRINT "ONE ONE THOUSANDTH OF A LITER." 

PRINT 

GOSUB 17000 

L = 12 

GOSUB 18000 

PRINT "HERE ARE A COUPLE OF QUESTIONS:" 

PRINT 

PRINT 

PRINT "HOW MANY CUBIC CENTIMETERS ARE IN A " 

PRINT "MILLITER?" 

PRINT 

PRINT " 1. 1" 

PRINT " 2. 2" 

PRINT " 3. 10" 

L = 9 

GOSUB 18000 

INPUT SA 

IF SA = lO THEN SA = 3 

ON SA GOTO 5420,5450,5470 

GOSUB 12000 

PRINT "YOU ARE RIGHT! THEY ARE THE SAME!" 

GOTO 5520 

GOSUB 11170 

GOTO 5290 

PRINT 

PRINT "YOU DID NOT READ VERY CLOSELY!" 

PRINT "THERE IS SOMETHING VERY 'UNIQUE'" 

PRINT "ABOUT THESE TWO UNITS!" 

GOTO 5290 

PRINT 

"WHAT IS THE VOLUME OF A BOX (IN LITERS)' 
"IF IT MEASURES .50 METERS BY .30 METERS' 
"BY .20 METERS?" 



PRINT 
PRINT 
PRINT 
PRINT 
PRINT 



50 LITERS" 



5S80 

5590 

S600 

5610 

5620 

5630 

5640 

5650 

5660 

5670 

5680 

5690 

5700 

5710 

5720 

5730 

5740 

5750 

5760 

5770 

5780 

5790 

5800 

5810 

5820 

5830 

5840 

5850 

5860 

5870 

S880 

6000 

6010 

6020 

6030 

6040 

6050 

6060 

6070 

6080 

6090 

6100 

6110 

6120 

6130 

6140 

6150 

6160 

6170 

6180 

6190 

6200 

6210 

6220 

6230 

6240 

6250 



30 LITERS" 
10 LITERS" 



PRINT " 2. 
PRINT " 3. 

L = a 

GOSUB 18000 

INPUT SA 

IF SA = 50 THEN SA = 1 

IF SA = 30 THEN SA = 2 

IF SA = lO THEN SA = 3 

ON SA GOTO 5690,5670,5690 

GOSUB 12000 

GOTO 5860 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

GOSUB 

L = 12 

GOSUB 18000 

GOTO 5520 

L = 12 

GOSUB 18000 

RETURN 

REN MASS 

L = 12 

GOSUB 18000 



"REMEMBER THAT A LITER IS DEFINED AS THE" 
"VOLUME OF A CUBE . lO METERS ON EACH" 
"SIDE. ALTHOUGH THE TERM FOR .10 METER" 
"ISN'T USED VERY MUCH, IT IS CALLED A" 
"'DECIMETER.' IF YOU CONVERT THE METER" 
"MEASUREMENTS TO DECIMETERS (.5 METERS" 
"EQUALS 5. DECIMETERS) AND MULTIPLY ALL" 
"THREE TOGETHER, YOU WILL END UP WITH" 
"THE VOLUME IN CUBIC DECIMETERS OR" 
"WHAT WE CALL LITERS!" 

17000 



PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
GOSUB 
PRINT 
PRINT 
L = 6 
GOSUB 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 



"THE METRIC LBMIT FOR MASS IS THE 'GRAM.'" 
"ORIGINALLY THE GRAM WAS DEFINED AS THE" 
"MASS OF 1 CUBIC CENTIMETER OF WATER" 
"UNDER CONTROLLED CONDITIONS." 
"NOW THERE ARE MORE ACCURATE METHODS FOR" 
"DEFINING THE GRAM." 

"SINCE THE GRAM IS A SMALL UNIT OF" 
"MEASURE <A NICKEL HAS A MASS OF ABOUT" 
"5 GRAMS) , A LARGER UNIT IS ALSO USED. " 
"THE 'KILOGRAM' IS 1000 GRAMS." 



17000 
"HERE ARE 



A COUPLE OF QUESTIONS. 



18000 

"UNDER CONTROLLED CONDITIONS, WHAT WOULD' 

"BE THE MASS OF l.O LITER OF WATER?" 

1. lO GRAMS" 

2. 100 GRAMS" 

3. lOOO GRAMS" 



215 



216 



6260 

6270 

6280 

6290 

6300 

6310 

6320 

6330 

6340 

6350 

6360 

6370 

6380 

6390 

6400 

6410 

6420 

6430 

6440 

6450 

6460 

6470 

6480 

6490 

6500 

6510 

6520 

6530 

6540 

6550 

6560 

6570 

6580 

6590 

6600 

6610 

6620 

6630 

6640 

6650 

6660 

6670 

6680 

7000 

7010 

7020 

7030 

7040 

7050 

7060 

7070 

7080 

7090 

7100 

7110 

7120 

7130 



L = 8 

GOSUB 18000 

INPUT SA 

IF SA = 10 THEN SA = 1 

IF SA = lOO THEN SA = 2 

IF SA = lOOO THEN SA = 3 

ON SA GOTO 6330,6330,6430 

L = 12 

GOSUB 18000 

A LITER CONTAINS 

SINCE A 

MASS OF 

MASS OF 



PRINT 
PRINT 
PRINT 
PRINT 
L = 7 
GOSUB 



lOOO CUBIC CENTIMETERS." 
CUBIC CENTIMETER OF WATER HAS A" 
1.0 GRAM, WHAT WOULD BE THE" 
lOOO CUBIC CENTIMETERS OF WATER?" 



18000 



GOSUB 17000 
GOTO 6190 
GOSUB 12000 
L = 12 
GOSUB 18000 



'HOW MANY GRAMS ARE 

1. 45.0 " 

2. 450" 

3. 900" 



PRINT 

PRINT 

PRINT 

PRINT 

L = 9 

GOSUB 18000 

INPUT SA 

IF SA = 45 THEN SA = 1 

IF SA = 450 THEN SA = 2 

IF SA = 900 THEN SA = 3 

ON SA GOTO 6570,6640,6660 

GOSUB 11170 

PRINT 

PRINT 

PRINT 

PRINT 

L = 6 

GOTO 6450 

GOSUB 12000 

GOTO 6680 

GOSUB 11010 

GOTO 6440 

RETURN 

REM POST TEST 

L = 12 



IN .450 KILOGRAMS?" 



"1.0 KILOGRAMS = lOOO GRAMS" 
".450 KILOGRAMS = ? GRAMS" 



GOSUB 
PRINT 
L = 6 
GOSUB 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
L = 8 
GOSUB 



18000 



18000 
"WHAT 



QUIZ! 



IS THE METRIC UNIT FOR VOLUME?" 



1. 
2. 
3. 



METER" 
LITER" 
GRAM" 



18000 



INPUT SA 



7140 

7150 

7160 

7170 

7180 

7190 

7200 

72 lO 

7220 

7230 

7240 

7250 

TZb!0 

7270 

7280 

7290 

7300 

7310 

7320 

7330 

7340 

7350 

7360 

7Z70 

7380 

7390 

7400 

7410 

7420 

7430 

7440 

7450 

7460 

7470 

7480 

7490 

7500 

7510 

7520 

7530 

7540 

7550 

7560 

7570 

7580 

7590 

7600 

7610 

7620 

7630 

7640 

7650 

7660 

7670 

7680 

7690 

7700 



IN 2.0 METERS?' 



CMM SA GOTO 7150,7170,7150 

V = O 
GOTO 7180 

V = 1 
L = 12 
GOSUB 18000 

PRINT "HOW MANY CENTIMETERS ARE 
PRINT 

PRINT " 1. 20" 

PRINT '■ 2. 200" 

PRINT " 3. 2000" 

L = 8 

GOSUB 18000 

INPUT SA 

IF SA = 20 THEN SA = 1 

IF SA = 200 THEN SA = 2 

IF SA = 2000 THEN SA = 3 

ON SA GOTO 7320,7340,7320 

DI = O 

GOTO 7350 

DI = 1 

L = 12 

GOSUB 18000 

PRINT "2500 GRAMS WOULD BE HOW MANY KILOGRAMS?" 

PRINT 

PRINT " 1. 2.5" 

PRINT " 2. 25" 

PRINT " 3. 250" 

L = 8 

GOSUB 18000 

INPUT SA 

IF SA = 2.5 THEN SA = 1 

IF SA = 25 THEN SA = 2 

IF SA = 250 THEN SA = 3 

ON SA GOTO 7490,7510,7510 

MA = 1 

GOTO 7520 

MA = O 

REM SUMMARY 

IF DI = O THEN 

IF V = O THEN 

IF MA = O THEN 

RETURN 

PRINT "WE ARE GOING TO REVIEW DISTANCE. 

D = 1000 

GOSUB 19000 

GOSUB 4000 

GOTO 7540 

PRINT "WE ARE GOING TO REVIEW VOLUME." 

D = lOOO 

GOSUB 19000 

GOSUB 5000 

GOTO 7550 

PRINT "WE ARE GOING TO REVIEW MASS." 

D = lOOO 

GOSUB 19000 

GOSUB 6000 



GOTO 7570 
GOTO 7620 
GOTO 7670 



217 



7710 GOTO 7360 

11000 REM CORRECTION ROUTINES 

IIOIO PRINT 

11020 PRINT 

11030 PRINT 

11040 PRINT 

11050 PRINT 

11060 PRINT 

11070 PRINT 

11080 PRINT 



"IN THE METRIC SYSTEM, CONVERSIONS ALWAYS* 
"ARE SOME POMER OF TEN. FOR EXAMPLE," 
"135. CENTIMETERS BECOMES 1.35 INTERS." 



11090 PRINT 
moo PRINT 



■NOTICE HOW THE SAME DIGITS ARE IN 
'ANSWERS? ONLY THE DECIMAL POINT" 
■ (POWERS OF TEN) CHANGES. " 



BOTH" 



11110 
11120 
11130 
11140 
11150 
11160 
11170 
11180 
11190 
11200 
11210 



PRINT 

PRINT 

L = 8 

GOSUB 

60SUB 

RETURN 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 



"IN A METRIC CONVERSION, 
"CHANGES POSITION!" 

18000 
17000 



ONLY THE DECIMAL' 



11220 PRINT 
11230 PRINT 
11240 PRINT 
11250 PRINT 



"IN THE METRIC SYSTEM, ANY UNIT WILL" 
"ALWAYS BE SOME POWER OF TEN BIGGER OR' 
"SMALLER THAN ANOTHER UNIT." 

"(.001, .01, .1, 1, 10, lOO, lOOO)" 

"BOTH UNITS MUST MEASURE THE SAME" 

"PHYSICAL DIMENSION, THOUGH." 

" (DISTANCE, VOLUME, MASS, ETC. ) " 



11260 PRINT 

11270 PRINT 

11280 GOSUB 17000 

11290 RETURN 

12000 REM REWARDS 

12010 L = 24 

12020 GOSUB 18000 

12030 PRINT "VERY GOOD!" 

12040 L = 12 

12050 GOSUB 18000 

12060 D = 1000 

12070 GOSUB 19000 

12080 GOSUB 18000 

12090 RETURN 

17000 REM PRESS RETURN 

17010 PRINT "PRESS 'RETURN' 

17020 INPUT SA* 

17030 RETURN 

18000 REM SCROLLING 

18010 FOR I = 1 TO L 

18020 PRINT 

18O30 NEXT I 

18040 RETURN 

19000 REM DELAY 

19010 FOR I = 1 TO D 

19020 NEXT I 

19030 RETURN 

20000 REM CLOSING 

20010 L = 12 



TO CONTINUE. 



218 



20020 G08UB 18000 

20030 PRINT "WE ARE FINISHED!" 

20040 PRINT "I HOPE YOU HAD A GOOD TIME! 

20050 GOSUB 18000 

20060 END 



TABLE OF VARIABLES 

D - DELAY 

2050 2190 7580 7630 7680 12060 

19010 

DI - SCORE ON DISTANCE 
7320 7340 7530 

I - COUNTER 

18010 18030 19010 19020 

L - LINES OF SCROLLING 
2010 2140 4010 4150 4180 4340 
4370 4470 4680 5010 5260 5370 
5600 5830 5860 6010 6190 6260 
6330 6390 6440 6500 6620 7010 
7040 71 lO 7 ISO 7250 7350 7420 
11130 12010 12040 18010 20010 

MA - SCORE ON MASS 
7490 75 lO 7550 

SA - STUDENT ANSWER 
4490 4500 4500 45 lO 4700 47 lO 
4710 4720 5390 5400 5400 5410 
5620 5630 5630 5640 5640 5650 
S650 5660 6280 6290 6290 6300 
6300 63 lO 63 lO 6320 6520 6530 
6530 6540 6540 6S50 6S50 6S60 
7130 7140 7270 7280 7280 7290 
7290 7300 7300 73 lO 7440 7450 
7450 7460 7460 7470 7470 7480 

SA« - STUDENT ANSWER 
2160 2170 17020 

V - SCORE ON VOLUME 
7150 7170 7540 

END OF VAR. LIST 

SAMPLE RUN 

THIS IS A PROGRAM ABOUT THE METRIC 
SYSTEM. 

WOULD YOU LIKE TO TAKE A QUIZ TO SEE 

219 



IF YOU ALREADY KNOW ABOUT THE METRIC 
SYSTEM <YES OR NO)? 



?YES 



QUIZ! 



WHAT IS THE METRIC UNIT FOR VOLUME? 

1. METER 

2. LITER 

3. GRAM 



?2 



HOW MANY CENTIMETERS ARE IN 2.0 METERS? 

1. 20 

2. 200 

3. 2000 



?1 



2SOO GRAMS WOULD BE HOW MANY KILOGRAMS? 

1. 2.5 

2. 25 

3. 250 



?1 

WE ARE GOING TO REVIEW DISTANCE. 



THE BASIC UNIT OF LENGTH IN THE METRIC 
SYSTEM IS THE 'METER.' AT FIRST THE 
METER WAS DEFINED AS ONE TEN MILLIONTH 
THE DISTANCE FROM THE EQUATOR TO THE 
NORTH POLE. HOWEVER, IT SOON BECAME 
EVIDENT THAT THIS DISTANCE IS VERY HARD 
TO MEASURE EVERY TIME THE STANDARD 
NEEDED TO BE CHECKED! 

PRESENTLY THE METER IS DEFINED ON THE 
BASIS OF A VERY ACCURATELY MEASURED 
WAVELENGTH OF LIGHT. 



PRESS 'RETURN' TO CONTINUE. 
220 



THE METRIC UNITS OF LENGTH WHICH ARE 
CCMiMONLY USED ARE: 

MILLIMETER 
CENTIMETER 
METER 
KILOMETER 

THE MILLIMETER IS 1/1000 OF A METER 

I/IO OF A CENTIMETER 

THE CENTIMETER IS l/lOO OF A METER 

THE KILOMETER IS 1000 METERS. 



PRESS 'RETURN' TO CONTINUE. 

"7 



LET'S TRY A COUPLE OF SIMPLE CONVERSION 
PROBLEMS. 

25 MILLIMETERS EQUALS: 

1. 2.5 

2. .25 

3. 32. 

CENTIMETERS 



?1 



VERY GOOD! 



HERE IS ANOTHER PROBLEM. 
.52 KILOMETERS EQUALS: 

1. 52 METERS 

2. 760 METERS 

3. 520 METERS 

?3 

VERY GOOD! 



WE ARE FINISHED! 

I HOPE YOU HAD A GOOD TIME! 

221 



''^^^^.^^^^^. 



story Writer 




PROGRAM DESCRIPTION 

This program is an instructional game on nouns, verbs, 
adjectives, and adverbs as well as sentence structuring. The 
computer gives you an initial quiz (pre-test) on nouns, verbs, 
adjectives, and adverbs. If you get all of the answers correct, the 
computer asks you to pick any noun, verb, adjective, and adverb 
and it will write sentences or stories from the words that you 
selected. If you do not receive a perfect score on the initial quiz, the 
computer will instruct you on nouns, verbs, adjectives, and 
adverbs. Some of the sentences or stories can be quite amusing, 
depending on the words selected. 

PROGRAM NOTES 

This program should give you ideas on how to turn your 
computer into an author. Collections of nouns, verbs, adjectives, 
and adverbs can even be combined with no filler (like the New 
Year's resolutions) to produce fundamental (although somewhat 
obscure) sentences. Try this order: adjective, noun, verb, noun, 
adverb. The result would be something like: 'TAT CAT CHEW 
TREE SLOWLY." For activities like this you might want to enter 
larger lists of words in each class and draw from them at 
random. 



222 



PROGRAM LISTING: BASIC 



100 REM STORY WRITER BY OARY ORWI6 

lOOO REM INITIALIZATION 

1010 DIM AV«<15),J1«<1S),J2«<15),J3«<15>,N1«(15},N2«(15>,N3« 

<15),N4«(15),N5«(15),N6«(15>,N7«(15) 

1020 DIM NA«(30),SA«(5),V1«(1S) 

1030 REM USE FULL SCREEN 

1040 POKE 82, O 

1050 PRINT 

2000 REM INTRODUCTION 



2010 


L=12 




2020 


GOSUB 


18000 


2030 


PRINT 


STORY W 


2040 


L=12 




2050 


GOSUB 


18000 


2060 


D=200 




2070 


GOSUB 


19000 


2080 


GOSUB 


18000 


2090 


PRINT 


"WHAT IS YOUR NAME?" 


2100 


GOSUB 


18000 


2110 


INPUT 


NA* 


2120 


GOSUB 


18000 


2130 


PRINT 


"I'M HAPPY TO MEET YOU, 


2140 


GOSUB 


18000 



2150 D=200 
2160 GOSUB 
2170 PRINT 
2 ISO PRINT 
2190 PRINT 
2200 PRINT 
2210 PRINT 
2220 PRINT 
2230 PRINT 
2240 PRINT 
2250 PRINT 
2260 PRINT 
2270 L=6 
2280 GOSUB 
2290 GOSUB 
2300 L=12 
23 lO GOSUB 



';na* 



19000 

"THIS IS A PROGRAM WHICH WILL WRITE A" 

"STORY FOR YOU!" 

"ALL YOU HAVE TO DO IS PROVIDE ME WITH" 
"A FEW WORDS!" 

"BEFORE WE GO VERY FAR, I NEED TO CHECK" 
"TO SEE IF YOU KNOW WHAT A FEW LANGUAGE" 
"TERMS MEAN." 



18000 
17000 



2320 PRINT 
2330 GOSUB 



18000 

"WHICH OF THE FOLLOWING WORDS IS A 

16000 

2340 IF SA03 THEN 2550 
2350 PRINT "VERY GOOD!" 

2360 PRINT "WHICH OF THE FOLLOWING WORDS 
2370 GOSUB 16000 
2380 IF SA04 THEN 2640 
2390 PRINT "GREAT!" 

2400 PRINT "WHICH OF THE FOLLOWING WORDS 
24 lO PRINT "AN ADJECTIVE?" 
2420 GOSUB 16000 
2430 IF SA02 THEN 2740 
2440 PRINT "EXCELLENT!" 
2450 PRINT "WHICH OF THE FOLLOWING WORDS IS 



NOUN?' 



IS A VERB?" 



IS' 



223 



2460 

2470 

2480 

2490 

2500 

25 lO 

2520 

2530 

2540 

2550 

2560 

2570 

2580 

2590 

2600 

2610 

2620 

2630 

2640 

2650 

2660 

2670 

2680 

2690 

2700 

2710 

2720 

2730 

2740 

2750 

2760 

2770 

2780 

2790 

2800 

2810 

2820 

2830 

2840 

2850 

2860 

2870 

2880 

3000 

3010 

3020 

3030 

3040 

3050 

3060 

3070 

3080 

3090 

3100 

3110 

3120 



I THINK WE ARE READY TO GO AHEAD NOM! 



17000 



PRINT "AN ADVERB?" 

GOSUB 16000 

IF SAOl THEN 2810 

PRINT "VERY GOOD!" 

PRINT 

PRINT 

PRINT 

GOSUB 

GOTO 3000 

REM NOUN 

PRINT "A NOUN IS THE NAME OF A PERSON, PLACE, 

PRINT "OR THING. " 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

GOTO 2320 

REM VERB 

PRINT "A VERB 

PRINT "ACTION." 

PRINT "YELL, RUN, JUMP, THINK, HIT, KICK," 

PRINT "AND TALK ARE ALL VERBS." 

PRINT "A VERB CAN HAVE SEVERAL FORMS " 

PRINT "PRESENT, PAST, PAST PERFECT, ETC." 
PRINT "WE WILL ONLY WORK WITH PRESENT AND PAST" 
PRINT "TENSES (SWIM AND SWAM) . " 
GOTO 2360 
REM ADJECTIVE 

PRINT "AN ADJECTIVE IS A WORD DESCRIBES" 
PRINT "SOMETHING OR SOMEBODY (A NOUN) . " 
PRINT "SWEET, JUMPY, MODEST, ROUGH, YELLOW," 
PRINT "AND STUPID ARE ALL ADJECTIVES." 
PRINT 
GOTO 2400 
REM ADVERB 
PRINT "AN ADVERB 
SOMETHING 



"SIDEWALK, UMBRELLA, MAN, FLORIDA, AND" 

"FOOT ARE ALL NOUNS!" 

"NOUNS CAN BE EITHER SINGULAR" 

"(FOOT, MOUSE) OR PLURAL (FEET, MICE)." 



IS ANY WORD WHICH EXPRESS AN" 



IS A WORD WHICH TELLS HOW" 
IS DONE. IT FREQUENTLY ENDS" 



•IN '-LY'." 

■QUICKLY, SLOWLY, MODESTLY, QUIETLY, 

•AND CAREFULLY ARE ALL ADVERBS. " 



PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

GOTO 2450 

REM COLLECT WORDS 

L=12 

GOSUB 18000 

PRINT "FIRST I WILL NEED SOME NOUNS. " 

PRINT "THINK OF SEVEN NOUNS (ALL SINGULAR)" 

PRINT "AND TYPE THEM IN ONE AT A TIME." 

PRINT 

PRINT 

PRINT "NOUN #1"; 

INPUT Nl* 

PRINT "NOUN #2"; 

INPUT N2* 

PRINT "NOUN #3"; 



224 



3130 

3140 

3150 

3160 

3170 

3180 

3190 

3200 

3210 

3220 

3230 

3240 

3250 

3260 

3270 

3280 

3290 

3300 

3310 

3320 

3330 

3340 

3350 

3360 

3370 

3380 

3390 

3400 

3410 

3420 

3430 

3440 

3450 

4000 

4010 

4020 

4030 

4040 

4050 

4060 

4070 

4080 

4090 

4100 

4110 

4120 

4130 

4140 

4150 

4160 

4170 

4180 

4190 

4200 

4210 

4220 



INPUT 
PRINT 
INPUT 
PRINT 
INPUT 
PRINT 
INPUT 
PRINT 



#4* 



N3« 

"NOUN 

N4« 

"NOUN #5"; 

N5« 

"NOUN #6"; 

N6« 

"NOUN #7"; 



INPUT N7* 
GOSUB 18000 



PRINT 

PRINT 

PRINT 

PRINT 

INPUT 

PRINT 

PRINT 

PRINT 

PRINT 

INPUT 

PRINT 

PRINT 

PRINT 

PRINT 

INPUT 

PRINT 

INPUT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

INPUT 

REM STORY 

L=12 

60SUB 

PRINT 

GOSUB 

GOSUB 

GOSUB 

PRINT 

PRINT 

GOSUB 

GOSUB 

GOSUB 

PRINT 

PRINT 

GOSUB 

GOSUB 

GOSUB 

PRINT 

PRINT 

GOSUB 

GOSUB 

GOSUB 

PRINT 



"GREAT! NOW I WILL NEED JUST ONE VERB. 



"VERB #1"; 

VI* 

"NOW HOW ABOUT 



ONE ADJECTIVE?" 



"ADJECTIVE #1"; 

Jl« 

"NOW I NEED TWO NUMBERS. 



"NUMBER #1 (BETWEEN 2 AND 12)"; 

J2» 

"NUMBER «2 

J3* 



(BETWEEN 2 AND 12)"; 



"I'M ALI^IST DONE! 
"ONE ADVERB!" 
"ADVERB #1"; 
AV« 



NOW ALL I NEED IS" 



S hEW YEAR'S RESOLUTIONS' 



WILL STOP EATING TOO MUCH" 



18000 

";NA«; 
18000 
17000 
18000 

"I, ";na«;" 
Ni«;"." 

18000 

17000 

18000 

"I WILL WATCH ONLY ";J1*;" TELEVISION" 

"SHOWS. " 

18000 

17000 

18000 

"I WILL ";V1*;" EVERY DAY FOR " 

J2»;" HOURS." 

18000 

17000 

180(K> 

"I WILL MAKE MY ";N2*;" AND CLEAN" 



225 



"MY ";N3«;" every day." 

18000 

17000 

18000 

"I WILL TALK "JAV*;" WHILE I EAT MY" 

N4»;"." 

18000 

17000 

18000 

"I WILL 80 TO BED AT ";J3*S" O'CLOCK." 

18000 

17000 

18000 

"I WILL TAKE 800D CARE OF MY PET ";N5«; 

18000 

17000 

18000 

"I WILL NOT PUT ANY ";N6«;" 

" MOTHER ' S " ; N7* ; " . " 

18000 

17000 

18000 

"I HOPE YOU CAN STICK TO YOUR' 

" RESOLUT I ONS , " ; N A* ; " ! " 



4230 PRINT 

4240 60SUB 

4250 60SUB 

4260 60SUB 

4270 PRINT 

4280 PRINT 

4290 60SUB 

4300 60SUB 

4310 60SUB 

4320 PRINT 

4330 60SUB 

4340 60SUB 

43SO 60SUB 

4360 PRINT 

4370 60SUB 

4380 60SUB 

4390 60SUB 

4400 PRINT 

4410 PRINT 

4420 60SUB 

4430 G05UB 

4440 GOSUB 

4450 PRINT 

4460 PRINT 

4470 PRINT 

4480 PRINT "BYE FOR NOW! 

4490 GOSUB 18000 

4SOO END 

16000 REM QUIZ FRAME 

PRINT 

PRINT 

PRINT 

PRINT " 1. SWIFTLY' 

PRINT " 2. GENTLE" 

PRINT " 3. TREE" 

PRINT " 4. JUMP" 

PRINT 

L=6 

GOSUB 18000 

INPUT SA 



IN MY" 



16010 
16020 
16030 
16040 
16050 
16060 
16070 
16080 
16090 
16100 
16110 
16120 
17000 
17010 
17020 
17030 
18000 
18010 
18020 
18030 
18040 
19000 
19010 
19020 
19030 



TYPE IN 1,2,3 OR 4. 



RETURN 

REM WAIT FOR PRESS RETURN 

PRINT "PRESS 'RETURN' TO CONTINUE. 

INPUT SA« 

RETURN 

REM SCROLLING 

FOR 1=1 TO L 

PRINT 

NEXT I 

RETURN 

REM DELAY 

FOR 1=1 TO D 

NEXT I 

RETURN 



226 



TABLE OF VARIABLES 

AV« 

1010 3450 4270 

Jl« 

lOlO 3320 4120 

J2« 

lOlO 3370 4180 

J3* 

lOlO 3390 4320 

Nl« 

lOlO 3090 4080 

N2« 

lOlO 3110 4220 

N3« 

lOlO 3130 4230 

N4« 

lOlO 3150 4280 

N5« 

lOlO 3170 4360 

N6« 

lOlO 3190 4400 

N7« 

1010 3210 4410 

NA« 

1020 21 lO 2130 4030 4070 44AO 



SA« 

1020 17020 

VI* 

1020 3270 4170 



L 

2010 2040 2270 2300 3010 4010 
16090 18010 

D 

2060 2150 19010 



227 



SA 



2340 2380 2430 2480 16110 



18010 18030 19010 19020 



PROGRAM LISTING: MICROSOFT BASIC 



lOO REH STORY WRITER BY GARY ORWIG 
lOOO REM INITIALIZATION 
1010 REM USE FULL SCREEN 
1020 POKE 82, O 
1030 CLS 

REM I NTRODUCT I ON 

L = 12 



2000 

20 lO 

2020 

2030 

2040 

2050 

2060 

2070 

2080 60SUB 

2090 PRINT 



GOSUB 18000 
PRINT " 
L = 12 
GOSUB 18000 
D = lOOO 
GOSUB 19000 



STORY WRITER" 



2100 
2110 
2120 
2130 
2140 
2150 
2160 
2170 
2180 
2190 
2200 
2210 
2220 
2230 
2240 
2250 
2260 
2270 
2280 
2290 
2300 
23 lO 
2320 
2330 
2340 
2350 
2360 
2370 
2380 
2390 
2400 



18000 

"WHAT IS YOUR NAME?" 
GOSUB 18000 
INPUT NA« 
GOSUB 18000 

PRINT "I'M HAPPY TO MEET YOU, 
GOSUB 18000 
D = 1500 
GOSUB 19000 



PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

L = 6 

GOSUB 

GOSUB 

L = 12 

GOSUB 18000 



"THIS IS A 
"STORY FOR 



PROGRAM WHICH WILL WRITE 
YOU ! " 



A" 



"ALL YOU HAVE 
"A FEW WORDS!' 



TO DO IS PROVIDE ME WITH" 



"BEFORE WE GO VERY FAR, I NEED TO CHECK" 
"TO SEE IF YOU KNOW WHAT A FEW LANGUAGE' 
"TERMS MEAN." 



18000 
17000 



PRINT 
GOSUB 
IF SA 
PRINT 
PRINT 
GOSUB 
IF SA 
PRINT 
PRINT 



2410 PRINT 



"WHICH OF THE FOLLOWING WORDS IS A NOUN?" 
16000 

< > 3 THEN 2550 
"VERY GOOD!" 

"WHICH OF THE FOLLOWING WORDS IS A VERB?" 
16000 

< > 4 THEN 2640 
"GREAT!" 

"WHICH OF THE FOLLOWING WORDS IS" 
"AN ADJECTIVE?" 



228 



2420 

2430 

2440 

2450 

2460 

2470 

2480 

2490 

2500 

2510 

2520 

2530 

2540 

2550 

2560 

2570 

2580 

2590 

2600 

2610 

2620 

2630 

2640 

2650 

2660 

2670 

2680 

2690 

2700 

2710 

2720 

2730 

2740 

2750 

2760 

2770 

2780 

2790 

2800 

2810 

2820 

2830 

2840 

2850 

2860 

2870 

2880 

3000 

3010 

3020 

3030 

3040 

3050 

3060 

3070 

3080 



GOSUB 16000 

IF SA < > 2 THEN 2740 

PRINT "EXCELLENT!" 

PRINT "WHICH OF THE FOLLOWING WORDS 

PRINT "AN ADVERB?" 

GOSUB 16000 

< > 1 THEN 2810 

"VERY GOOD!" 



IS" 



"I THINK WE ARE READY TO GO AHEAD NOW!" 



AND' 



"SIDEWALK, UMBRELLA, MAN, FLCMRIDA, 
"FOOT ARE ALL NOUNS!" 
"NOUNS CAN BE EITHER SINGULAR" 
"(FOOT, MOUSE) OR PLURAL (FEET, MICE) 



AN' 



IF SA 

PRINT 

PRINT 

PRINT 

PRINT 

GOSUB 17000 

GOTO 3000 

REM hK}UN 

PRINT "A NOUN IS THE NAME OF A PERSON, PLACE, 

PRINT "OR THING." 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

GOTO 2320 

REM VERB 

PRINT "A VERB IS ANY WORD WHICH EXPRESS 

PRINT "ACTION." 

PRINT "YELL, RUN, JUMP, THINK, HIT, KICK," 

PRINT "AND TALK ARE ALL VERBS." 

PRINT "A VERB CAN HAVE SEVERAL FORMS " 

PRINT "PRESENT, PAST, PAST PERFECT, ETC." 
PRINT "WE WILL ONLY WORK WITH PRESENT WMD PAST' 
PRINT "TENSES (SWIM AND SWAM) . " 
GOTO 2360 
REM ADJECTIVE 

PRINT "AN ADJECTIVE IS A WORD DESCRIBES" 
PRINT "SOMETHING OR SOMEBODY (A NOUN)." 
PRINT "SWEET, JUMPY, MODEST, ROUGH, YELLOW," 
PRINT "AND STUPID ARE ALL ADJECTIVES." 
PRINT 
GOTO 2400 
REM ADVERB 
PRINT "AN ADVERB 
SOMETHING 



"IN '-LY'." 

"QUICKLY, SLOWLY, MODESTLY, QUIETLY, 

"AND CAREFULLY ARE ALL ADVERBS." 



PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
GOTO 2450 

REM COLLECT WORDS 
L = 12 
GOSUB 18000 
"FIRST 



IS A WORD WHICH TELLS HOW" 
IS DONE. IT FREQUENTLY ENDS" 



PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 



I WILL NEED SOME NOUNS." 
"THINK OF SEVEN NOUNS (ALL SINGULAR) 
"AND TYPE THEM IN ONE AT A TIME." 



'NOUN »1"; 



229 



230 



3090 

3100 

3110 

3120 

3130 

3140 

3150 

3160 

3170 

3180 

3190 

3200 

3210 

3220 

3230 

3240 

3250 

3260 

3270 

3280 

3290 

3300 

3310 

3320 

3330 

3340 

3350 

3360 

3370 

3380 

3390 

3400 

3410 

3420 

3430 

3440 

3450 

4000 

4010 

4020 

4030 

4040 

4050 

4060 

4070 

4080 

4090 

4100 

41 lO 

4120 

4130 

4140 

4150 

4160 

4170 

4180 

4190 



INPUT Nl* 

PRINT "NOUN #2"; 

INPUT N2* 

PRINT "NOUN #3"; 

INPUT N3« 

PRINT "NOUN #4"; 

INPUT N4* 

PRINT "NOUN #5"; 

INPUT N5« 

PRINT "NOUN #6"; 

INPUT N6« 

PRINT "NOUN #7"; 

INPUT N7* 

GOSUB 18000 

PRINT "GREAT! NOW I WILL is«EED JUST ONE VERB." 

PRINT 

PRINT 

PRINT "VERB #1"; 

INPUT VI* 

PRINT "NOW HOW ABOUT ONE ADJECTIVE?" 

PRINT 

PRINT 

PRINT 

INPUT Jl« 

PRINT "NOW 

PRINT 

PRINT 

PRINT 



ADJECTIVE #1"; 



I NEED TWO NUMBERS. 



"NUMBER #1 
INPUT J2* 
PRINT "NUMBER #2 
INPUT J 3* 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
INPUT AV* 
REM STORY 
L = 12 
GOSUB 18000 



(BETWEEN 2 AND 12) 



(BETWEEN 2 AND 12)"; 



"I'M ALMOST DONE! 
"ONE ADVERB!" 
"ADVERB «1"; 



NOW ALL I NEED IS' 



PRINT 
GOSUB 
GOSUB 
GOSUB 
PRINT 



";NA»;"'S new YEAR'S RESOLUTIONS' 
18000 
17000 
18000 
"I, ";NA«; 



WILL STOP EATING TOO lUICH* 



PRINT Nl*;". 
GOSUB 18000 



GOSUB 
GOSUB 
PRINT 
PRINT 
GOSUB 
GOSUB 
GOSUB 
PRINT 



17000 
18000 
"I WILL WATCH ONLY 



TELEVISION" 



"SHOWS. " 

18000 

17000 

18000 

"I WILL "; 
PRINT J2*;" HOURS." 
GOSUB 18000 



VI*; " 



EVERY DAY FOR 



4200 GOSUB 
42 lO GOSUB 
4220 PRINT 
4230 PRINT 
4240 GOSUB 
4250 GOSUB 
4260 GOSUB 
4270 PRINT 
4280 PRINT 
4290 GOSUB 
4300 GOSUB 
43 lO GOSUB 
4320 PRINT 
4330 GOSUB 
4340 GOSUB 
4350 GOSUB 
4360 PRINT 
4370 GOSUB 
4380 GOSUB 
4390 GOSUB 
4400 PRINT 
4410 PRINT 
4420 GOSUB 
4430 GOSUB 
4440 GOSUB 
4450 PRINT 
4460 PRINT 
4470 PRINT 
4480 PRINT 
4490 GOSUB 
4500 END 

16000 REM 

16010 

16020 

16030 

16040 

16050 

16060 

16070 

16080 

16090 

16100 

16110 

16120 

17000 

17010 

17020 

17030 

18000 

18010 

18020 

18030 

18040 

19000 



17000 
18000 
"I WILL MAKE MY ••;N2*;" AND CLEAN" 

"MY ";n3«;" every day." 

18000 

17000 

18000 

"I WILL TALK ";AV*;" WHILE I EAT MY" 

N4«;"." 

18000 

17000 

18000 

"I WILL GO TO BED AT ";J3*;" O'CLOCK." 

18000 

17000 

18000 

"I WILL TAKE GOOD CARE OF MY PET ";N5$; 

18000 

17000 

18000 

"I WILL 

"MOTHER' S 

18000 

17000 

18000 

"I HOPE YOU CAN STICK TO YOUR" 

"RESOLUTIONS, " ; NA«; " ! " 



NOT PUT ANY 
';N7«;"." 



";N6*;" in my* 



"BYE FOR 
18000 



NOW! 



1. 
2. 
3. 
4. 



18000 
SA 



QUIZ FRAME 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

L = 6 

GOSUB 

INPUT 

RETURN 

REM WAIT FOR 

PRINT "PRESS 

INPUT SA* 

RETURN 

REM SCROLLING 

FOR I = 1 TO L 

PRINT 

NEXT I 

RETURN 

REM DELAY 
19010 FOR I = 1 TO D 
19020 NEXT I 
19030 RETURN 



TYPE IN 1,2,3 OR 4. 



SWIFTLY' 
GENTLE" 
TREE" 
JUMP" 



PRESS RETURN 
'RETL«N' TO CONTINUE. 



231 



TABLE OF VARIABLES 

AV* - ADVERB 
3450 4270 

D - DELAY 

2060 2150 19010 

I - COUNTER 

18010 18030 19010 19020 

Jl* - ADJ. 1 
3320 4120 

J2» - ADJ. 2 
3370 4 ISO 

J3* - ADJ. 3 
3390 4320 

L - LINES OF SCROLLING 

2010 2040 2270 2300 30 lO 4010 

1&090 18010 

Nl« - NOUN 1 
3090 4080 

N2« - NOUN 2 
31 lO 4220 

N3* - NOUN 3 
3130 4230 

N4« - NOUN 4 
3150 4280 

NS« - NOUN 5 
3170 4360 

N6« - NOUN 6 
3190 4400 

N7« - NOUN 7 
3210 4410 

NA« - NAHE 

2110 2130 4030 4070 4460 

SA - STUDENT ANSWER 

2340 2380 2430 2480 16110 

SA« - STUDENT ANSWER 
17020 

VI* - VERB 1 
3270 4170 

232 END OF VAR. LIST 



SAMPLE RUN 

WHAT IS YOUR NAME? 

7LAURIE 

I'M HAPPY TO MEET YOU, LAURIE 



THIS IS A PROGRAM WHICH WILL WRITE A 
STORY FOR YOU! 

ALL YOU HAVE TO DO IS PROVIDE ME WITH 
A FEW WORDS! 

BEFORE WE 60 VERY FAR, I NEED TO CHECK 
TO SEE IF YOU KNOW WHAT A FEW LAN6UA6E 
TERMS MEAN. 



PRESS 'RETURN' TO CONTINUE. 

WHICH OF THE FOLLOWING WORDS IS A NOUN? 
TYPE IN 1,2,3 OR 4. 

1. SWIFTLY 

2. GENTLE 

3. TREE 

4. JUMP 



?4 

A NOUN IS THE NAME OF A PERSON, PLACE, 

OR THING. 

SIDEWALK, UMBRELLA, MAN, FLORIDA, AND 

FOOT ARE ALL NOUNS! 

NOUNS CAN BE EITHER SINGULAR 

(FOOT, MOUSE) OR PLURAL (FEET, MICE). 

WHICH OF THE FOLLOWING WORDS IS A NOUN? 

TYPE IN 1,2,3 OR 4. 

1. SWIFTLY 

2. GENTLE 

3. TREE 

4. JUMP 



?3 233 



VERY GOOD! 

WHICH OF THE FOLLOWING WORDS IS A VERB? 

TYPE IN 1,2,3 OR 4. 

1. SWIFTLY 

2. GENTLE 

3. TREE 

4. JUMP 



?4 

GREAT ! 

WHICH OF THE FOLLOWING WORDS IS 

AN ADJECTIVE? 

TYPE IN 1,2,3 OR 4. 

1. SWIFTLY 

2. GENTLE 

3. TREE 

4. JUMP 



?2 

EXCELLENT ! 

WHICH OF THE FOLLOWING WORDS IS 

AN ADVERB? 

TYPE IN 1,2,3 OR 4. 

1. SWIFTLY 

2. GENTLE 

3. TREE 

4. JUMP 



?1 

VERY GOOD! 

I THINK WE ARE READY TO GO AHEAD NOW! 

PRESS 'RETURN' TO CONTINUE. 



FIRST I WILL NEED SOME NOUNS. 
THINK OF SEVEN NOUNS (ALL SINGULAR) 
AND TYPE THEM IN ONE AT A TIME. 



NOUN #1?CAT 
NOUN #2?DOG 
NOUN «3?HOUBE 
234 NOUN #4?TREE 



NOUN «S?HORSE 
NOUN #6?CHICKEN 
NOUN #7?CAR 



GREAT! NOW I WILL NEED JUST ONE VERB. 



VERB #1?RUN 

NOW HOW ABOUT ONE ADJECTIVE? 



ADJECTIVE #1?HAPPY 

NOW I NEED TWO NUMBERS. 



NUMBER #1 (BETWEEN 2 AND 12) ?5 
NUMBER #2 (BETWEEN 2 AND 12) ?7 



I'M ALMOST DONE! NOW ALL I NEED IS 
ONE ADVERB! 
ADVERB #1?QUICKLY 



LAURIE'S NEW YEAR'S RESOLUTIONS 



PRESS 'RETURN' TO CONTINUE. 



I, LAURIE, WILL STOP EATING TOO MUCH 
CAT. 



PRESS 'RETURN' TO CONTINUE, 
r? 



I WILL WATCH ONLY HAPPY TELEVISION 
SHOWS. 



PRESS 'RETURN' TO CONTINUE- 

•3 



I WILL RUN EVERY DAY FOR 
5 HOURS. 



PRESS 'RETURN' TO CONTINUE. 

•7 



I WILL MAKE MY DOG AND CLEAN 

MY HOUSE EVERY DAY. 235 



PRESS 'RETURN' TO CONTINUE. 

•7 



I WILL TALK QUICKLY WHILE I EAT MY 
TREE. 



PRESS 'RETURN' TO CONTINUE. 

•7 



I WILL GO TO BED AT 7 O'CLOCK. 



PRESS 'RETURN' TO CONTINUE. 

•7 



I WILL TAKE GOOD CARE OF MY PET HORSE. 



PRESS 'RETURN' TO CONTINUE. 



I WILL NOT PUT ANY CHICKEN IN MY 
MOTHER'S CAR. 



PRESS 'RETURN' TO CONTINUE. 



I HOPE YOU CAN STICK TO YOUR 
RESOLUTIONS, LAURIE! 

BYE FOR NOW! 



236 



SIMULATION 
PROGRAMS 



Simulation programming is a form of instruction that puts the learner in a real-life 
situation. It allows the learner to use decisionmaking skills to alter the situation and then 
to witness the outcome created by the decisions. Science and engineering, as well as the 
aerospace industry, use simulations for structural designs and for training of personnel. A 
great deal of enthusiasm or motivation from the learner is one good aspect of the use of 
simulation CAL The six program listings and sample runs were chosen to demonstrate 
the use of simulation programming to teach the learner to adjust to a variety of real-life 
situations involving such subjects as retailing, science, ballistics, and financing. 



237 



Acceleration 




PROGRAM DESCRIPTION 

This is a program that will help you to understand better what 
acceleration is all about. You will need to know about the 
relationships between time, distance, velocity, and acceleration 
from a science book and practice with the program TIME, 
DISTANCE, AND VELOCITY before you attempt to operate this 
simulation program. 

In this program, you select any units you want to use to 
represent time and distance. Observe the results carefully, since 
the answers will be in the same units that you selected. There are 
two limitations on the units you input into the computer for time 
and distance. Do not type in "0" for a value since some of the 
equations would make the computer divide by "0" and, as you 
know, the equations would not operate. Also, the computer does 
not check to see if you have accelerated beyond the speed of light, 
which is not a probable occurrence in the real world. 

PROGRAM NOTES 

1. Consider adding a "zero filter" to eliminate potential problems 
with division by zero. 

2. How could you allow for relativity and the limitation of the 
speed of light? Would it be possible to check an answer to see 
if it approaches or exceeds the limits? 



238 



PROGRAM LISTING: BASIC 

100 REM ACCELERATION BY GARY 0RWI6 

lOOO REM INITIALIZATION 

1010 DIM 0«(15),NA«(30),S«(15),T«(1S) 

1020 REM USE FULL SCREEN 

1030 POKE 82,0 

1040 PRINT 

2000 REM INTRODUCTION 

2010 L=24 

2020 GOSUB 18000 

2030 FOR J=0 TO 300 STEP 8 

2040 DE=(301-J)/5 

20S0 GOSUB 19000 

2060 PRINT ">>»»>>>>>ACCELERATION»»>»»»»»»>»>»>" 



2070 NEXT J 

2080 FOR 1=1 TO lO 

2090 PRINT ">»>>>>>>>>ACCELERATION»»»»»»»»>>>»>»" 



9 

2100 

21 lO 
2120 
2130 
2140 
2150 
2160 
2170 
2180 
2190 
2200 

22 lO 
2220 
2230 
2240 
2250 
2260 
2270 
2280 
2290 
2300 
2310 
2320 
2330 
2340 
2350 
2360 
2370 
2380 
2390 
2400 
2410 
2420 
2430 
2440 
2450 
2460 



NEXT I 

DE=200 

GOSUB 19000 

L=24 

GOSUB 

PRINT 

PRINT 

L=12 

GOSUB 

INPUT 

GOSUB 

PRINT 

PRINT 

PRINT 

D=1500 

GOSUB 19000 

L=24 

GOSUB 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 



18000 

"IT'S NICE TO SEE YOU! 

"WHAT IS YOUR NAME?"; 

18000 

NA« 

18000 



I HOPE YOU HAVE A GOOD TIME, ";NA»;", 



18000 

"THIS IS A PROGRAM WHICH WILL HELP" 

"YOU TO BETTER UNDERSTAND ACCELERATION." 

"YOU SHOULD FIRST READ ABOUT TIME," 
"DISTANCE, VELOCITY, AND ACCELERATION" 
"IN A SCIENCE BOOK TO GET A BASIC " 
"UNDERSTANDING OF THEM." 

"IN THIS PROGRAM, YOU CAN PICK ANY UNITS' 
"YOU WANT TO USE TO REPRESENT TIME AND" 
"DISTANCE. THE ANSWERS WILL BE IN THOSE' 
"SAME UNITS." 



"THERE ARE TWO LIMITATICMMS " 

"DON'T TYPE IN 'O' FOR A VALUE!" 
" (SOME OF MY EQUATIONS WOULD MAKE ME TRY" 
"TO DIVIDE BY OD" 
PRINT "ALSO, I DON'T CHECK TO SEE IF YOU HAVE" 
PRINT "ACCELERATED BEYOND THE SPEED OF LIGHT!" 



239 



2470 PRINT "(SOMETHING HARD TO DO IN REAL LIFE!)" 

2480 PRINT 

2490 PRINT 

2500 PRINT "PRESS 'RETURN' TO CONTINUE." 

2510 INPUT S* 

2520 L=24 

2530 GOSUB 18000 

3000 REM SET UNITS 

3010 PRINT "WHAT UNIT DO YOU WANT TO USE FOR TIME?' 

3020 PRINT " (SECONDS, MINUTES, HOURS, ETC. ) " 

3030 INPUT T* 

3040 PRINT 

3050 PRINT "WHAT UNIT DO YCttJ WANT FOR DISTANCE?" 

3060 PRINT "(METERS, KILOMETERS, MILES, ETC.)" 

3070 INPUT D» 

3080 PRINT 

3090 PRINT "TIhE WILL BE IN ";T*J"." 

3100 PRINT 

3110 PRINT "DISTANCE WILL BE IN ";D»?"." 

3120 PRINT 

3130 PRINT "VELOCITY WILL BE IN" 

3140 PRINT D«S" PER ";T*;"." 

3150 PRINT 

3160 PRINT "ACCELERATION WILL BE IN" 

3170 PRINT D»;" PER ";T*;" PER ";T«;"." 

3180 PRINT 

3190 PRINT 

3200 PRINT "PRESS 'RETLWN' TO CONTINUE." 

32 lO INPUT S« 

3220 L=24 

3230 GOSUB 18000 

4000 REM MAIN PROGRAM 

4010 PRINT "SELECT ONE AND ENTER THE NUMBER." 

4020 PRINT 

4030 PRINT 

4040 PRINT " 

4050 PRINT 

4060 PRINT " 

4070 PRINT 

4080 PRINT " 

4090 PRINT 

4100 PRINT " 

41 lO PRINT 

4120 PRINT " 

4130 PRINT 

4140 PRINT " 

4150 PRINT 

4160 INPUT SA 

4170 IF SA<1 OR SA>6 THEN 4010 

4180 L=24 

4190 GOSUB 18000 

4200 ON SA GOTO 4210,4270,4330,4390,4450,4510 

4210 PRINT "ENTER A" 

4220 INPUT A 

4230 PRINT "ENTER T" 

4240 INPUT T 



1. 


GIVEN 


A 




T, 


FIND 


V 




D" 


2. 


GIVEN 


A 




D, 


FIND 


V 




T" 


3. 


GIVEN 


A 




V, 


FIND 


D 




T" 


4. 


GIVEN 


V 




D, 


FIND 


A 




T" 


5. 


GIVEN 


V 




T, 


FIND 


A 




D" 


6. 


GIVEN 


D 




T, 


FIND 


A 




V" 



240 



4250 

4260 

4270 

4280 

4290 

4300 

4310 

4320 

4330 

4340 

4350 

4360 

4370 

4380 

4390 

4400 

4410 

4420 

4430 

4440 

4450 

4460 

4470 

4480 

4490 

4500 

4510 

4520 

4530 

4540 

4550 

4560 

5000 

5010 

5020 

5030 

5040 

5050 

5060 

5070 

5080 

5090 

5100 

5110 

5120 

5130 

5140 

5150 

5160 

5170 

5180 

5190 

5200 

6000 

6010 

6020 



GOSUB 6010 

GOTO 5000 

PRINT "ENTER A" 

INPUT A 

PRINT "ENTER D" 

INPUT D 

GOSUB 6050 

GOTO 5000 

PRINT "ENTER A" 

INPUT A 

PRINT "ENTER V" 

INPUT V 

GOSUB 6090 

GOTO 5000 

PRINT "ENTER V" 

INPUT V 

PRINT "ENTER D" 

INPUT D 

GOSUB 6130 

GOTO 5000 

PRINT "ENTER V" 

INPUT V 

PRINT "ENTER T" 

INPUT T 

GOSUB 6170 

GOTO 5000 

PRINT "ENTER D" 

INPUT D 

PRINT "ENTER T" 

INPUT T 

GOSUB 6210 

GOTO 5000 

REN PRINT ANSWERS 

L=6 

GOSUB 18000 

PRINT "ACCELERATION: ";A;" ";D«;" PER ";T«;" PER ";t* 

PRINT 

PRINT "VELOCITY: ";v;" ";D*;" PER ";T» 

PRINT 

PRINT "DISTANCE: 

PRINT 

PRINT "TIME: 

PRINT 

PRINT 

PRINT "ENTER MORE VALUES (YES OR NO) 

INPUT S* 

IF S«="NO" THEN 20000 

PRINT 

PRINT "SAME UNITS OF MEASUREMENT?" 

PRINT " (YES OR NO) " 

INPUT S* 

IF S*="NO" THEN 3000 

GOTO 4000 

REM CALCULATIONS 

REM A. GIVEN ACCEL. AND TIME 

V=A*T 



";d;" ";d* 



241 



6030 D=T''2»A»0.5 

6040 RETURN 

6050 REM B. GIVEN ACCEL. AND DISTANCE 

6060 T=(<2»D)/A)'^0.3 

&070 V=<2»A»D>-X).3 

6080 RETURN 

6090 REM C. GIVEN ACCEL. AND FINAL VEL. 

6100 T=V/A 

6110 D=(V'^2)/(2*A) 

6120 RETURN 

6130 REM D. GIVEN FINAL VELOCITY AND DISTANCE 

6140 A=<V'^2)/(2»D) 

6150 T=(2»D)/V 

6160 RETURN 

6170 REM E. GIVEN FINAL VELOCITY AND TIME 

6 ISO A=V/T 

6190 D=<V*T)/2 

6200 RETURN 

6210 REM F. GIVEN DISTANCE AND TIME 

6220 A=(2*D)/T''2 

6230 V=(2*D)/T 

6240 RETURN 

18000 REM SCROLL 

18010 FOR 1=1 TO L 

18020 PRINT 

18030 NEXT I 

18040 RETURN 

19000 REM DELAY 

19010 FOR 1=1 TO DE 

19020 NEXT I 

19030 RETURN 

20000 REM CLOSING 

20010 PRINT 

20020 PRINT 

20030 PRINT "I HOPE YOU HAD FUN, "|NA»;"!" 

20040 PRINT "BYE FOR NOW!" 

20050 END 



TABLE OF VARIABLES 

D« 

1010 3070 31 lO 3140 3170 5O30 
5050 5070 

NA» 

lOlO 2190 2230 20030 

S« 

lOlO 2510 3210 5130 5140 5180 
5190 

T* 

lOlO 3030 3090 3140 3170 3170 
5030 5030 5050 5090 



242 



L 

20 lO 2130 2170 2260 2S20 3220 
4180 5010 18010 

J 

2030 2040 2070 

DE 

2040 2110 19010 

I 

2080 2100 18010 18030 19010 19020 



D 

2240 4300 4420 4520 5070 6030 

6060 6070 6110 6140 6150 6190 

6220 6230 

SA 

4160 4170 4170 4200 

A 

4220 4280 4340 5030 6020 6030 
6060 6070 6100 61 lO 6140 6180 
6220 

T 

4240 4480 4540 5090 6020 6030 
6060 6100 6150 6180 6190 6220 
6230 

V 

4360 4400 4460 5050 6020 6070 
6100 6110 6140 6150 6180 6190 
6230 



PROGRAM LISTING: MICROSOFT BASIC 

100 REM ACCELERATION BY GARY ORMIG 

1000 REM INITIALIZATION 

1010 REM USE FULL SCREEN 

1020 POKE 82,0 

1030 CLS 

2000 REM INTRODUCTION 

2010 L = 24 

2020 GOSUB 18000 

2030 FOR J = O TO 300 STEP 8 

2040 DE = 300 - J 

20S0 GOSUB 19000 

2060 PRINT ">>»>»>»>ACCELERATION»»>>>>>>»>»"; 

2070 NEXT J 

2080 FOR I = 1 TO 10 

2090 PRINT ">»>>»>»>ACCELERATICMM>»»>»»>»»"; 



243 



2100 

2110 

2120 

2130 

2140 

2150 

2160 

2170 

2180 

2190 

2200 

2210 

2220 

2230 

2240 

2250 

2260 

2270 

2280 

2290 

2300 

2310 

2320 

2330 

2340 

2350 

2360 

2370 

2380 

2390 

2400 

2410 

2420 

2430 

2440 

2450 

2460 

2470 

2480 

2490 

2500 

2510 

2520 

2530 

3000 

3010 

3020 

3030 

3040 

3050 

3060 

3070 

3080 

3090 

3100 

3110 



NEXT I 

DE = 1000 

60SUB 19000 

L = 24 

60SUB 18000 

PRINT "IT'S NICE TO SEE YOU!" 

PRINT "WHAT IS YOUR NAME?"; 

L = 12 

60SUB 18000 

INPUT NA« 

GOSUB 18000 

PRINT 

PRINT 

PRINT "I HOPE YOU HAVE A GOOD TIME, 

D = 1500 

GOSUB 19000 

L = 24 

GOSUB 18000 



';na«;"." 



"THIS IS A PROGRAM WHICH WILL HELP" 
"YOU TO BETTER UNDERSTAND ACCELERATION." 



PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

INPUT S« 

L = 24 

GOSUB 18000 

REM SET UNITS 

PRINT "WHAT UNIT DO YOU WANT TO USE FOR TIME?" 

PRINT " (SECONDS, MINUTES, HOURS, ETC. ) " 

INPUT J* 

PRINT 

PRINT 

PRINT 

INPUT D* 

PRINT 

PRINT 

PRINT 

PRINT 



"YOU SHOULD FIRST READ ABOUT TIME," 
"DISTANCE, VELOCITY, AND ACCELERATION" 
"IN A SCIENCE BOOK TO GET A BASIC " 
"UNDERSTANDING OF THEM." 

"IN THIS PROGRAM, YOU CAN PICK ANY UNITS" 
"YOU WANT TO USE TO REPRESENT TIME AND" 
"DISTANCE. THE ANSWERS WILL BE IN THOSE" 
"SAME UNITS." 

"THERE ARE TWO LIMITATIONS " 

"DON'T TYPE IN 'O' FOR A VALUE!" 

"(SOME OF MY EQUATIONS WOULD MAKE ME TRY" 

"TO DIVIDE BY O!)" 

"ALSO, I DON'T CHECK TO SEE IF YOU HAVE" 

"ACCELERATED BEYOND THE SPEED OF LIGHT!" 

"(SOMETHING HARD TO DO IN REAL LIFE!)" 



"PRESS 'RETURN' TO CONTINUE." 



"WHAT UNIT DO YOU WANT FOR DISTANCE?" 
"(METERS, KILOMETERS, MILES, ETC.)" 



TIME WILL BE IN ";T*;". 



"DISTANCE WILL BE IN "JD*?", 



244 



1. GIVEN A «c T, FIND V <e D" 

2. GIVEN A & D, FIND V & T" 

3. GIVEN A & V, FIND D & T" 

4. GIVEN V Sc D, FIND A <c T" 

5. GIVEN V & T, FIND A Sc D" 

6. GIVEN D & T, FIND A & V" 



3120 PRINT 

3130 PRINT "VELOCITY WILL BE IN" 

3140 PRINT D«;" PER ";T»;"." 

3150 PRINT 

3160 PRINT "ACCELERATION WILL BE IN" 

3170 PRINT D«;" PER ";T«;" PER ";T*;"." 

3180 PRINT 

3190 PRINT 

3200 PRINT "PRESS 'RETURN' TO CONTINUE." 

32 lO INPUT S« 

3220 L = 24 

3230 GOSUB 18000 

4000 REM MAIN PROGRAM 

4010 PRINT "SELECT ONE AND ENTER THE NUMBER." 

4020 PRINT 

4030 PRINT 

4040 PRINT " 

4050 PRINT 

4060 PRINT " 

4070 PRINT 

4080 PRINT " 

4090 PRINT 

4100 PRINT " 

41 lO PRINT 

4120 PRINT " 

4130 PRINT 

4140 PRINT " 

4150 PRINT 

4160 INPUT SA 

4170 IF SA < 1 OR SA > 6 THEN 4010 
4180 L = 24 

4190 GOSUB 18000 

4200 ON SA GOTO 4210,4270,4330,4390,4430,4510 

42 lO PRINT "ENTER A" 

4220 INPUT A 

4230 PRINT "ENTER T" 

4240 INPUT T 

4250 GOSUB 6010 

4260 GOTO 5000 

4270 PRINT "ENTER A" 

4280 INPUT A 

4290 PRINT "ENTER D" 

4300 INPUT D 

4310 GOSUB 6050 

4320 GOTO 5000 

4330 PRINT "ENTER A" 

4340 INPUT A 

4350 PRINT "ENTER V" 

4360 INPUT V 

4370 GOSUB 6090 

4380 GOTO 5000 

4390 PRINT "ENTER V" 

4400 INPUT V 

44 lO PRINT "ENTER D" 

4420 INPUT D 

4430 GOSUB 6130 



245 



••;d;" "jd* 
";t;" ";t« 



4440 GOTO 5000 

4450 PRINT "ENTER V 

4460 INPUT V 

4470 PRINT "ENTER T" 

4480 INPUT T 

4490 GOSUB 6170 

4500 GOTO 5000 

4510 PRINT "ENTER D" 

4520 INPUT D 

4530 PRINT "ENTER T" 

4540 INPUT T 

4550 GOSUB 6210 

4560 GOTO 5000 

5000 REM PRINT ANSWERS 

5010 L = 6 

5020 GOSUB 18000 

5030 PRINT "ACCELERATION: ";A;" ";D«;" PER ";T«; 

5040 PRINT 

5050 PRINT "VELOCITY: "JV;" ";D*;" PER ";T* 

5060 PRINT 

5070 PRINT "DISTANCE: 

5080 PRINT 

5090 PRINT "TIME: 

5100 PRINT 

5110 PRINT 

5120 PRINT "ENTER MORE VALUES (YES OR NO)" 

5130 INPUT S* 

5140 IF S* = "NO" THEN 20000 

5150 PRINT 

5160 PRINT "SAME UNITS OF l«ASUREMENT?" 

5170 PRINT " (YES OR NO) " 

5 ISO INPUT S» 

5190 IF S« = "NO" THEN 3000 

5200 GOTO 4000 

6000 REM CALCULATIONS 

6010 REM A. GIVEN ACCEL. MMD TIME 

6020 V = A ♦ T 

6030 D = T'^2*A» .5 

6040 RETURN 

6050 REM B. GIVEN ACCEL. AND DISTANCE 

6060 T = ((2 * D) /A) -^ .5 

6070 V= (2«A*D) ^".5 

6080 RETURN 

6090 REM C. GIVEN ACCEL. AND FINAL VEL. 

6100 T = V / A 

6110 D = (V ^ 2) / (2 * A) 

6120 RETURN 

6130 REM D. GIVEN FINAL VELOCITY AND DISTANCE 

6140 A = (V -^ 2) / (2 • D) 

6150 T = (2 * D) / V 

6160 RETURN 

6170 REM E. GIVEN FINAL VELOCITY AND TIME 

6180 A = V / T 

6190 D = (V * T) / 2 

6200 RETURN 

6210 REM F. GIVEN DISTANCE AND TIME 



PER ";t* 



246 



6220 A= (2»D) /T''2 

6230 V = <2 ♦ D> / T 

6240 RETURN 

18000 REM SCROLL 

18010 FOR I = 1 TO L 

18020 PRINT 

18030 NEXT I 

18040 RETURN 

19000 REM DELAY 

19010 FOR I = 1 TO DE 

19020 NEXT I 

19030 RETURN 

20000 REM CLOSING 

20010 PRINT 

20020 PRINT 

20030 PRINT "I HOPE YOU HAD FUN, ";NA*; 

20040 PRINT "BYE FOR NOW!" 

200S0 END 



TABLE OF VARIABLES 

A - ACCELERATION 

4220 4280 4340 5030 6020 6030 

6060 6070 6100 61 lO 6140 6180 

6220 

D - DISTANCE 

2240 4300 4420 4520 5070 6030 
6060 6070 61 lO 6140 61SO 6190 
6220 6230 

D* - DISTANCE UNIT 

3070 31 lO 3140 3170 5030 5050 

5070 

DE - DELAY 
2040 21 lO 19010 

I - COUNTER 

2080 2100 18010 18030 19010 

19020 

J - COUNTER 
2030 2040 2070 

L - LINES OF SCROLLING 

2010 2130 2170 2260 2520 3220 

4180 5010 18010 

NA« - NAME 
2190 2230 20030 

S* - STUDENT INPUT 

2510 3210 5130 5140 5180 5190 



247 



SA - STUDENT INPUT 
4160 4170 4170 4200 

T - TIME 

4240 4480 4540 5090 6020 6030 

6060 6100 6150 6180 6190 6220 

6230 

T* - TIME UNIT 

3030 3090 3140 3170 3170 5030 

5030 5050 5090 

V - VELOCITY 

4360 4400 4460 5050 6020 6070 

6100 61 lO 6140 6150 6180 6190 

6230 

END OF VAR. LIST 



SAMPLE RUN 

IT'S NICE TO SEE YOU! 
WHAT IS YOUR NAME? 

7CARRIE 



I HOPE YOU HAVE A GOOD TIME, CARRIE. 



THIS IS A PROGRAM WHICH WILL HELP 

YOU TO BETTER UNDERSTAND ACCELERATION. 

YOU SHOULD FIRST READ ABOUT TIME, 
DISTANCE, VELOCITY, AND ACCELERATICMM 
IN A SCIENCE BOOK TO GET A BASIC 
UNDERSTANDING OF THEM. 

IN THIS PROGRAM, YOU CAN PICK ANY UNITS 
YOU WANT TO USE TO REPRESENT TIME AND 
DISTANCE. THE ANSWERS WILL BE IN THOSE 
SAME UNITS. 

THERE ARE TWO LIMITATIONS 

DON'T TYPE IN '0' FOR A VALUE! 

<SOME OF MY EQUATIONS WOULD MAKE ME TRY 
TO DIVIDE BY 0!) 

ALSO, I DON'T CHECK TO SEE IF YOU HAVE 
ACCELERATED BEYOND THE SPEED OF LIGHT! 

(SOMETHING HARD TO DO IN REAL LIFE!) 



PRESS 'RETURN' TO CONTINUE. 
248 



WHAT UNIT DO YOU WANT TO USE FOR TIME? 
(SECONDS, MINUTES, HOURS, ETC.) 
7SEC0NDS 

WHAT UNIT DO YOU WANT FOR DISTANCE? 
(METERS, KILOMETERS, MILES, ETC.) 
?FEET 

TIME WILL BE IN SECONDS. 

DISTANCE WILL BE IN FEET. 

VELOCITY WILL BE IN 
FEET PER SECONDS. 

ACCELERATION WILL BE IN 

FEET PER SECONDS PER SECONDS. 



PRESS 'RETURN' TO CONTINUE. 

•7 



SELECT ONE AND ENTER THE NUMBER. 

1. GIVEN A & T, FIND V «c D 

2. GIVEN A «t D, FIND V & T 

3. GIVEN A & V, FIND D & T 

4. GIVEN V «c D, FIND A & T 

5. GIVEN V «t T, FIND A & D 

6. GIVEN D 8t T, FIND A «c V 
?5 

ENTER V 
7300 
ENTER T 
?2 

ACCELERATION: 150 FEET PER SECONDS PER SECONDS 

VELOCITY: 300 FEET PER SECONDS 

DISTANCE: 300 FEET 

TIME: 2 SECONDS 

ENTER MORE VALUES (YES OR NO) 
?NO 

249 



I HOPE YOU HAD FUN, CARRIE! 
BYE FOR NOW! 



250 



Ballistics 




PROGRAM DESCRIPTION 

The science of ballistics is demonstrated in this program. The 
computer simulates the flight of a cannonball. You must supply 
the angle at which the cannon is to be fired. This angle is expressed 
in a range of "0" to "90" degrees. In addition, you will have to 
decide on the velocity of the cannonball since you can vary the 
amount of gunpowder in the cannon. As a helpful hint, velocities 
in the range of 200 to 300 meters per second are usually very 
effective. The object is to hit the target in as few tries as 
possible. 

This program calculates the "pure" parabolic path of the 
projectile. It does not consider wind resistance. 

PROGRAM NOTES 



1. This is a program for the graphics enthusiast. If you have 
graphics ability, you can plot the trajectory by incrementing 
time (figure altitude and range every 0.5 seconds of flight 
time). Then plot appropriate values of X and Y on the 
screen. 

2. There seems to be some problem with getting the Microsoft 
BASIC to print out 40 characters. Even with the POKE 82,0 
command, it wants to cut the display after 38 characters on a 
line. As a result, the "firing range" is a bit shorter for the 
Microsoft BASIC version. Certainly there must be another 
POKE around somewhere to fix this! 

251 



3. Depending on the level of the students, you might want to add 
prompting, like "Try a slightly lower angle," etc. 



PROGRAM LISTING: BASIC 



lOO REM BALLISTICS BY GARY 0RWI6 

lOOO REM INITILIZATION 

lOlO 6=9.8 

1020 DIM NA«(30),S«(10) 

1030 REM USE FULL SCREEN 

1040 POKE 82,0 

1050 PRINT 

REM INTRODUCTION 

FOR 1=1 TO lO 

FOR J=l TO I 

PRINT "BALLISTICS "; 

NEXT J 

PRINT 

PRINT 

NEXT I 

DE=200 

60SUB 19000 



2000 
2010 
2020 
2030 
2040 
2050 
2060 
2070 
2080 
2090 
2100 
2110 
2120 
2130 
2140 
2150 



L=24 
60SUB 
PRINT 
L=12 
GOSUB 
INPUT 
2160 PRINT 
2170 PRINT 



18000 
"WHAT 

18000 
NA« 



IS YOUR NAME?' 



•NICE TO MEET YOU, ";NA«;". 



2180 
2190 
2200 
2210 
2220 
2230 
2240 
2250 
2260 
2270 
2280 
2290 
2300 
2310 
2320 
2330 
2340 
2350 
2360 
2370 
2380 
2390 
2400 
24 lO 
2420 



L=3 

GOSUB 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

INPUT 

L=13 

GOSUB 

PRINT 

GOSUB 

DE=200 



18000 

"THIS IS A PROGRAM WHICH 

"FLIf^T OF A CANNON BALL. 



SIMULATES THE- 



"YOU MUST SUPPLY THE ANGLE AT WHICH" 
"THE GUN IS TO BE FIRED. THIS IS AN" 
"ANGLE EXPRESSED IN A RANGE OF " 
"O TO 90 DEGREES." 

"IN ADDITION, YOU WILL HAVE TO DECIDE" 
"ON THE VELOCITY OF THE CANNON BALL. " 
"SINCE YOU CAN VARY THE AMOUNT OF " 
"GUNPOWDER IN THE CANNON, THIS IS NOT" 
"A PROBLEM. USUALLY VELOCITIES IN THE" 
"RANGE OF 200 TO 300 METERS PER SECOND" 
"ARE EFFECTIVE." 



"PRESS 
S« 

18000 

■i 

18000 



•RETURN' TO CONTINUE. 



HERE WE 60!" 



252 



2430 

4000 

4010 

4020 

4030 

4040 

4050 

4060 

4070 

4080 

4090 

4100 

4110 

4120 

4130 

4140 

4150 

4160 

4170 

4180 

4190 

4200 

4210 

4220 

4230 

4240 

4250 

4260 

4270 

4280 

4290 

4300 

4310 

4320 

4330 

6000 

6010 

6020 

6030 

6040 

6050 

6060 

6070 

6080 

6090 

7000 

7010 

7020 

7030 

7040 

7050 

7060 

7070 

7080 

7090 

7100 



JRX;" METERS. 



GOSUB 19000 

REM MAIN PROGRAM 

GOSUB 10000 

L=24 

GOSUB 18000 

PRINT "TARGET RANGE IS 

PRINT "ENTER ELEVATION ANGLE IN DEGREES:"; 

INPUT ED 

IF ED<90 THEN 4100 

PRINT "YOU'RE SHOOTING THE WRONG WAY, ";NA«;"!" 

GOTO 4050 

PRINT "ENTER VELOCITY IN M/S:"; 

INPUT VI 

GOSUB 6000 

18000 

BOOM ! " 

18000 



GOSUB 

PRINT 

GOSUB 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

GOSUB 7000 

GOSUB llOOO 



ELEVATION: 



INIT. VELOCITY: 



TOTAL DISTANCE: 



"MAXIMUM ELEVATION: 



';ED;" DEGREES" 



";vi;" M/S" 



;D;'' METERS' 



';H5 



METERS" 



TOTM. TIME IN AIR: "jT;" SEC. 



THEN 12000 
THEN GOSUB 



IF HT=2 

IF HT=1 THEN GOSUB 12500 

IF HT=0 THEN GOSUB 14000 

GOTO 4040 

REM CALULATIONS 

ER=ED*0. O 174533 

H=(VI*SIN(ER) )'^2/<2»G) 

H=INT<H) 

T=(2*VI*SIN<ER))/G 

D=COS(ER)»VI«T 

T=INT(T) 

D=INT<D) 

DB=INT ( (D/200) +0. 5) 

RETURN 

REM PLOT RESULTS 

PRINT 

PRINT 

IF DB<41 THEN 7070 

PRINT " OUT OF SIGHT! 

PRINT " 

GOTO 7150 

FOR 1=1 TO DB-3 

PRINT " "; 

NEXT I 

PRINT "CRASH" 



>»' 



253 



71 lO FOR 1=1 TO DB-1 

7120 PRINT •• ••; 

7130 NEXT I 

7140 PRINT "«" 

7150 PRINT "X/"; 

71&0 FOR 1=1 TO DT-4 

7170 PRINT " ••; 

7180 NEXT I 

7190 PRINT ■"-'-^'"• 

7200 FOR 1=1 TO 40 

7210 PRINT •■*••; 

7220 NEXT I 

7230 FOR 1=1 TO DT-1 

7240 PRINT " ••; 

7250 NEXT I 

7260 PRINT •"^" 

7270 FOR 1=1 TO DT-3 

7280 PRINT •• "; 

7290 NEXT I 

7300 PRINT RX 

7310 RETURN 

lOOOO REM RANDOMIZATION OF RANGE 

lOOlO R=INT<RND<0)»11) 

10020 RX=5000+(200*R) 

10030 DT=INT((RX/200)+0.5) 

10040 RETURN 

llOOO REM JUDGE RESULTS 

IIOIO HT=0 

11020 IF DB=DT THEN HT=2 

11030 IF DB=DT+1 THEN HT=1 

11040 IF DB=DT-1 THEN HT=1 

llOSO RETURN 

12000 REM REWARD 

12010 FOR 1=1 TO &0 

12020 PRINT " KAPOW!! "J 

12030 NEXT I 

12040 PRINT 

12050 PRINT 

12060 PRINT "DIRECT HIT!" 

12070 DE=200 

12080 60SUB 19000 

12090 L=24 

12100 60SUB 18000 

121 lO GOTO 20000 

12500 REM CLOSE HIT 

12510 PRINT "OUCH! ! 

12S20 RETURN 

14000 REM MISS 

14010 PRINT "HA HA! MISSED ME 

14020 RETIARN 

18000 REM SCROLLING 

18010 FOR 1=1 TO L 

18020 PRINT 

18030 NEXT I 

18040 RETURN 

19000 REM DELAY 



DAMAGED, BUT NOT OUT! 



254 



19010 FOR 1=1 TO DE 

19020 NEXT I 

19030 RETURN 

20000 REM CLOSING 

20010 PRINT "WANT TO TRY AGAIN?" 

20020 PRINT "TYPE IN 'YES' OR 'NO'" 

20030 INPUT S* 

20040 IF S*="YES" THEN 4000 

20050 PRINT "BYE FOR NOW, ";NA»;"!" 

TABLE OF VARIABLES 

6 

1010 6020 6040 

NA« 

1020 2150 2170 4080 20050 

S« 

1020 2370 20030 20040 

I 

2010 2020 2070 7070 7090 7110 

7130 7160 7 ISO 7200 7220 7230 

7250 7270 7290 12010 12030 ISO 10 

18030 19010 19020 



J 

2020 2040 

DE 

20S0 2420 12070 19010 

L 

2100 2130 2180 2380 4020 12090 
18010 



RX 

4040 7300 10020 10030 

ED 

4060 4070 4170 6010 

VI 

4110 4190 6020 6040 6050 

D 

42 lO 6050 6070 6070 6080 

H 

4230 6020 6030 6030 

T 

4250 6040 6050 6060 6060 



255 



HT 



4300 4310 4320 11010 11020 11030 
11040 



ER 



6010 6020 6040 6050 



DB 



6080 7030 7070 7110 11020 11030 
11040 



DT 



7160 7230 7270 10030 11020 11030 
11040 



10010 10020 



PROGRAM LISTING: MICROSOFT BASIC 



lOO REM BALLISTICS BY GARY ORWIG 

500 REM RESEED RND 

SIO RANDOMIZE 

lOOO REM INITILIZATION 

lOlO G = 9. SO 

1020 REM USE FULL SCREEN 

1030 Pf3KE 82, 

1040 CLS 

2000 REM INTRODUCTION 

2010 FOR I = 1 TO 10 

2020 FOR J = 1 TO I 

2030 PRINT "BALLISTICS "; 

2040 NEXT J 

20S0 PRINT 

2060 PRINT 

2070 NEXT I 

2080 DE = lOOO 

2090 GOSUB 19000 

2100 L = 24 

2110 GOSUB 18000 

2120 PRINT "WHAT IS YOUR NAME?" 

2130 L = 12 

2140 GOSUB 18000 

2150 INPUT NA« 

2160 PRINT 

2170 PRINT 

2180 L » 3 

2190 GO^JB 



"NICE TO MEET YOU, ";NA*;", 



18000 

"THIS IS A PROGRAM WHICH SIMULATES Tl^" 

"FLIGHT OF A CANNON BALL." 
2220 PRINT 

2230 PRINT "YOU MUST SUPPLY THE ANGLE AT WHICH" 
2240 PRINT "THE GUN IS TO BE FIRED. THIS IS AN" 
2250 PRINT "ANGLE EXPRESSED IN A RANGE OF " 
2260 PRINT "O TO 90 DEGREES." 



2200 PRINT 
2210 PRINT 



256 



2270 
2280 

2300 
2310 
2320 
2330 
2340 
2350 
2360 

2380 

2390 

2400 

2410 

2420 

2430 

4000 

4010 

4020 

4030 

4040 

4050 

4060 

4070 

4080 

4090 

4100 

4110 

4120 

4130 

4140 

4150 

4160 

4170 

4180 

4190 

4200 

4210 

4220 

4230 

4240 

4250 

4260 

4270 

4280 

4290 

4300 

4310 

4320 

4330 

6000 

6010 

6020 

6030 

6040 



"IN ADDITION, YOU WILL HAVE TO DECIDE" 
"ON THE VELOCITY OF THE CANNON BALL." 
"SINCE YOU CAN VARY THE AMOUNT OF " 
"GUNPOWDER IN THE CANNON, THIS IS NOT" 
"A PROBLEM. USUALLY VELOCITIES IN THE" 
"RANGE OF 200 TO 300 METERS PER SECOND" 
"ARE EFFECTIVE." 

"PRESS 'RETURN' TO CONTINUE." 



HERE WE GO ! " 



PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

INPUT S* 

L = 13 

GOSUB 18000 

PRINT " 

GOSUB 18000 

DE = lOOO 

GOSUB 19000 

REM MAIN PROGRAM 

GOSUB lOOOO 

L = 24 

GOSUB 18000 

TARGET RANGE IS 

ENTER ELEVATION ANGLE IN DEGREES 
INPUT ED 

IF ED < 90 THEN 4100 

PRINT "YOU'RE SHOOTING THE WRONG WAY, 
GOTO 4050 

PRINT "ENTER VELOCITY IN M/S:"; 
INPUT VI 
GOSUB 6000 

18000 

BOOM \ " 

18000 



PRINT 
PRINT 



;RX;" METERS." 



";na*j"! 



elevation: 



VELOCITY: 



TOTAL DISTANCE: 



MAXIMUM elevation: ";h;" meters* 



"TOTAL TIME IN AIR: 



GOSUB 

PRINT 

GOSUB 

PRINT 

PRINT 

PRINT 

PRINT "INIT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

GOSUB 7000 

GOSUB llOOO 

IF HT = 2 THEN 12000 

IF HT = 1 THEN GOSUB 

IF HT = O THEN GOSUB 

GOTO 4040 

REM CALULATIONS 

ER = ED * .0174533 

H = (VI » SIN (ER)) -^ 

H = INT (H) 

T = (2 * VI » SIN (ER)) 



";ed; 



';vii 



DEGREES" 



M/S' 



";D;" METERS' 



;T;" SEC. 



12500 
14000 



2 / (2 * G) 



/ G 



257 



6050 D = COS <ER) * VI ♦ T 

60&0 T = INT (T) 

6070 D = INT <D) 

6080 DB = INT < (D / 200) + .5) 

6090 RETURN 

7000 REM PLOT RESULTS 

7010 PRINT 

7020 PRINT 

7030 IF DB < 41 THEN 7070 

7040 PRINT " OUT OF SIGHT!" 

7050 PRINT •• >»• 

7060 SOTO 7150 

7070 FOR I = 1 TO DB - 3 

7080 PRINT " "; 

7090 NEXT I 

7100 PRINT "CRASH" 

7110 FOR I = 1 TO DB - 1 

7120 PRINT " "; 

7130 NEXT I 

7140 PRINT "#" 

7150 PRINT "X/"; 

7160 FOR I = I TO DT - 4 

7170 PRINT " "; 

7180 NEXT I 

7190 PRINT "^^^- 

7200 FOR I = 1 TO 38 

7210 PRINT "♦"; 

7220 NEXT I 

7230 PRINT 

7240 FOR I = 1 TO DT - 1 

7250 PRINT " "; 

7260 NEXT I 

7270 PRINT "''" 

7280 FOR I = 1 TO DT - 3 

7290 PRINT " "i 

7300 NEXT I 

7310 PRINT RX 

7320 RETURN 

lOOOO REM RANDOMIZATION OF RANGE 

lOOlO R = RND(9)-1 

10020 RX = 5000 + <200 * R) 

10030 DT = INT <(RX / 200) + .5) 

10040 RETURN 

llOOO REM JUDGE RESULTS 

IIOIO HT = O 

11020 IF DB = DT THEN HT = 2 

11030 IF DB = DT + 1 THEN HT = 1 

11040 IF DB = DT - 1 THEN HT = 1 

llOSO RETURN 

12000 REM REWARD 

12010 FOR I = 1 TO 60 

12020 PRINT " KAPOW! ! "; 

12030 NEXT I 

12040 PRINT 

12050 PRINT 

12060 PRINT "DIRECT HIT!" 



258 



12070 DE = 1000 

12080 GOSUB 19000 

12090 L = 24 

12100 GOSUB 18000 

12110 GOTO 20000 

12500 REM CLOSE HIT 

12510 PRINT "OUCH!! DAMAGED, BUT NOT OUT! 

12520 RETURN 

14000 REM MISS 

14010 PRINT "HA HA! MISSED ME!!" 

14020 RETURN 

18000 REM SCROLLING 

18010 FOR I = 1 TO L 

18020 PRINT 

18030 NEXT I 

18040 RETURN 

19000 REM DELAY 

19010 FC« I = 1 TO DE 

19020 NEXT I 

19030 RETURN 

20000 REM CLOSING 

20010 PRINT "WANT TO TRY AGAIN?" 

20020 PRINT "TYPE IN 'YES' OR 'NO'" 

20030 INPUT S* 

20040 IF S* = "YES" THEN 4000 

20050 PRINT "BYE FOR NOW, ";NA*;"!" 

TABLE OF VARIABLES 

D - TOTAL DISTANCE 

4210 6050 6070 6070 6080 

DB - DISTANCE IN SCALE 

6080 7030 7070 7110 11020 11030 

11040 

DE - DELAY 

2080 2420 12070 19010 

DT - DISTANCE TO TARGET IN SCALE 
7160 7230 7270 10030 11020 
11030 11040 

ED - ELEVATION IN DEGREES 
4060 4070 4170 6010 

ER - ELEVATION IN RADIANS 
6010 6020 6040 6050 

G - ACCELERATION OF GRAVITY 
1010 6020 6040 

H - MAXIMUM ELEVATION 
4230 6020 6030 6030 



259 



HT - HIT 

4300 4310 4320 IIOIO 11020 

11030 11040 

I - COUNTER 

2010 2020 2070 7070 7090 7110 
7130 7160 7180 7200 7220 7230 
7250 7270 7290 12010 12030 
18010 18030 19010 19020 

J - COUNTER 
2020 2040 

L - SCROLLING LINES 

2100 2130 2180 2380 4020 12090 

18010 

NA« - NAME 

2150 2170 4080 20050 

R - RANDOM NUMBER 
lOOlO 10020 

RX - TARGET RANGE IN METERS 
4040 7300 10020 10030 

S« - STUDENT INPUT 
2370 20030 20040 

T - TIME IN AIR IN SECONDS 
4250 6040 6050 6060 6060 

VI - INITIAL VELOCITY 
41 lO 4190 6020 6040 6050 

END OF VAR. LIST 



SAMPLE RUN 

WHAT IS YOUR NAME? 

?BRAD 

NICE TO MEET YOU, BRAD. 



THIS IS A PROGRAM WHICH SIMULATES THE 
FLIGHT OF A CANNON BALL. 

YOU MUST SUPPLY THE ANGLE AT WHICH 
THE GUN IS TO BE FIRED. THIS IS AN 
ANGLE EXPRESSED IN A RANGE OF 
O TO 90 DEGREES. 

IN ADDITION, YOU WILL HAVE TO DECIDE 
260 ON THE VELOCITY OF THE CANNON BALL. 



SINCE YOU CAN VARY THE AMOUNT OF 
GUNPOWDER IN THE CANNON, THIS IS NOT 
A PROBLEM. USUALLY VELOCITIES IN THE 
RANGE OF 200 TO 300 METERS PER SECOND 
ARE EFFECTIVE. 

PRESS 'RETURN' TO CONTINUE. 

'7 



HERE WE GO! 



TARGET RANGE IS 6200 METERS. 

ENTER ELEVATION ANGLE IN DEGREES: ?45 

ENTER VELOCITY IN M/S:?250 



BOOM! 

ELEVATION: 45 DEGREES 

INIT. VELOCITY: 250 M/S 

TOTAL DISTANCE: 6377 METERS 

MAXIMUM ELEVATION: 1594 METERS 

TOTAL TIME IN AIR: 36 SEC. 



CRASH 
« 

X/ -^-^-^ 

6200 
OUCH!! DAMAGED, BUT NOT OUT! 
TARGET RANGE IS 6200 METERS. 
ENTER ELEVATION ANGLE IN DEGREES: ?44 
ENTER VELOCITY IN M/S: 7250 



BOOM! 

ELEVATION: 44 DEGREES 

INIT. VELOCITY: 250 M/S 



TOTAL DISTANCE: 6373 METERS 261 



MAXIMUM ELEVATION: 1538 METERS 
TOTAL TIME IN AIR: 35 SEC. 



CRASH 
# 

x/ -^-^-^ 

6200 
OUCH!! DAMAGED, BUT NOT OUT! 
TARGET RANGE IS 6200 METERS. 
ENTER ELEVATION ANGLE IN DEGREES: ?40 
ENTER VELOCITY IN M/S:?250 



BOOM! 



ELEVATION: 
INIT. VELOCITY: 
TOTAL DISTANCE: 
MAXIMUM ELEVATION: 
TOTAL TIME IN AIR: 



40 DEGREES 
250 M/S 
6280 METERS 
1317 METERS 
32 SEC. 



CRASH 
* 

X/ -^^^ 

**************************************** 



6200 



KAPOW ! ! KAPOW 




KAPOW 


! ! KAPOW ! ! 


KAPOW! ! KAPOW 




KAPOU 


1 ! • KAPOW ! ! 


KAPOW ! ! KAPOW 




KAPOW 


1 ! ! KAPOW ! ! 


KAPOW! ! KAPOW 




KAPOW 


1 ! ! KAPOW ! ! 


KAPOW! ! 






KAPOW ! ! 


KAPOW ! ! KAPOW ! ! 


KAPOW! ! 


KAPOW ! ! 


KAPOW ! ! KAPOW ! ! 


KAPOW ! ! 


KAPOW! ! 


KAPOW ! ! KAPOW ! ! 


KAPOW ! ! 


KAPOW! ! 


KAPOW ! ! KAPOW ! ! 


KA 




POW 


! ! KAPOW ! ! 


KAPOW ! ! 




KAPOW ! ! KAPOW 


! ! KAPOW ! ! 


KAPOW ! ! 




KAPOW! ! KAPOW 


! ! KAPOW ! ! 


KAPOW ! ! 




KAPOW ! ! KAPOW 


! ! KAPOW ! ! 


KAPOW ! ! 




KAPOW ! ! 



262 



KAPOW ! 
KAPOW ! 
KAPOW ! 



KAPOW ! 
KAPOW ! 
KAPOW ! 



KAPOW ! ! 
KAPOW ! ! 
KAPOW ! ! 



KAPOW ! ! 
KAPOW! ! 
KAPOW ! ! 



DIRECT HIT! 



WANT TO TRY AGAIN? 

TYPE IN 'YES' OR 'NO' 

?N0 

BYE FOR NOW, BRAD! 



263 



Car Wash 







PROGRAM DESCRIPTION 

This program simulates the planning and operation of a 
typical car wash. You operate a car wash for five Saturdays with the 
sole objective of making as much money as you possibly can. You 
have a total of five helpers^ each of whom can wash a maximum of 
20 cars during the day. One important hint: Pay careful attention 
to the weather forecasts^ since rainy days can cause you to lose a 
great deal of money! 

The main variables in this program are as follows: 

A. Price per wash 

B. Weather 

C. Amount of advertising 

D. Traffic 

L Number of helpers 

PROGRAM NOTES 



264 



1. You can vary the weather by changing variables A, B, C, and D 
in lines 6400-6620. These four variables represent the odds 
given to the four outcomes by any of the four predictions. 

2. Consider adding other factors such as: A. Gas station owner 
demands 10 dollars per day rent. B. Sunburn strikes down 2 
workers. 

3. Consider using the PRINT USING command in the Microsoft 
BASIC to smooth out the display of dollars and cents. 



PROGRAM LISTING: BASIC 



100 REM CAR WASH BY GARY ORWIG 
lOOO REM INITIALIZATION 
lOlO BA=25 
1020 WA=5 

1030 DIM S«(5),SF»<30),WF»<30),WP»(30) 
1040 REM USE FULL SCREEN 
1050 POKE 82, O 
1060 PRINT 

2000 REM INTRODUCTION 
2010 L=24 
2020 60SUB 18000 

2030 PRINT " CAR WASH!" 

2040 L=12 
20S0 60SUB 18000 
2060 DE=200 
2070 60SUB 19000 
2080 L=24 
2090 60SUB 
2100 PRINT 
2110 PRINT 
2120 PRINT 
2130 PRINT 
PRINT 



18000 
"YOU ARE 



GOING TO START A CAR WASH!" 



2140 
2150 PRINT 
2160 PRINT 
2170 PRINT 
2180 PRINT 
2190 PRINT 
2200 PRINT 
2210 PRINT 
2220 PRINT 
2230 PRINT 
2240 PRINT 
2250 PRINT 
2260 PRINT 



"YOU WILL RUN IT FOR FIVE DAYS" 
"WITH THE SOLE OBJECT BEING TO MAKE' 
"AS MUCH MONEY AS POSSIBLE!" 



"YOU WILL HAVE A TOTAL OF 5 WORKERS," 
"EACH OF WHOM CAN WASH A MAXIMLRI OF" 
"20 CARS DURING THE DAY." 

"AS YOU WILL SEE, THERE ARE A" 
"NUMBER OF FACTORS YOU MUST CONSIDER,' 
"BUT BY ALL MEANS, YOU NEED TO WATCH" 
"THE WEATHER FORECASTS, SINCE RAINY" 
"WEATHER WILL DO YOU IN!" 



2270 
2280 
2290 
2300 
2310 
4000 
4010 
4020 
4030 
4040 



"THE ONLY WAY TO LEARN IS BY DOING, SO" 
"WHEN YOU ARE READY, PUSH THE 'RETURN" 
"KEY. " 



18000 
S« 

PROGRAM 



20000 



PRINT 

PRINT 

L=3 

GOSUB 

INPUT 

REM MAIN 

DA=DA-i-l 

IF DA=6 THEN 

WA=S 

L=24 

4050 GOSUB 18000 

4060 PRINT "TODAY IS DAY NUMBER ";DA; 
4070 L=6 

4080 GOSUB 18000 
4090 DE=200 
4100 GOSUB 19000 
4110 GOSUB 6320 
4120 PRINT 

4130 PRINT "THE WEATHER FORECAST 
4140 PRINT WP* 
4150 L=12 



IS: 



265 



4160 
4170 
4180 
4190 
4200 
4210 
4220 
4230 
4240 
4250 
4260 
4270 
4280 
4290 
4300 
4310 
4320 
4330 
4340 
4350 
4360 
4370 
4380 
4390 
4400 
4410 
4420 
4430 
4440 
4450 
4460 
4470 
4480 
4490 
4500 
4510 
4520 
4530 
4540 
4550 
4560 
4570 
4580 
4590 
4600 
4610 
4620 
4630 
4640 
4650 
4660 
4670 
4680 
4690 
4700 
4710 
4720 
266 4730 



BALANCE OF ";BA;" DOLLARS. 
'WHAT PRICE ARE YOU GOING TO CHARGE"; 



60SUB 18000 

DE=200 

60SUB 19000 

GOSUB 18000 

PRINT "YOU HAVE A 

PRINT 

PRINT 

INPUT P 

GOSUB 6010 

IF P<0.26 OR P>4.49 THEN 4220 

PRINT 

IT COSTS ABOUT .25 PER CAR FOR MATERIALS' 
PRESENTLY YOU HAVE ■•;««;" DOLLARS" 
WORTH OF SOAP, SPONGES, RAGS, ETC. " 
DO YOU WISH TO ADD TO THIS (YES OR NO) " 



PRINT 
PRINT 
PRINT 
PRINT 
INPUT S* 
IF S«="NO' 



THEN 4400 



PRINT 

PRINT "ENTER THE AMOUNT YOU WANT TO ADD." 

INPUT SA 

GOSUB 7000 

IF SA>0 THEN 4340 

PRINT "YOU NOW HAVE *";MM;" WORTH OF MATERIALS. 

PRINT "AND A BALANCE OF «";BA 

PRINT 

REM 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 



"BALANCE - «";BA 

"AMOUNT SPENT ON ADVERTISING = ♦";TT 
"YOU HAVE A CHOICE OF THE FOLLOWING" 
"FORMS OF ADVERTISING:" 



MEDIUM 



COST PER UNIT' 



"1. 
"2. 
"3. 
"4. 



RADIO 
NEWSPAPER 
POSTERS 
KIDS AT CURB 



♦20.00' 
♦5.00* 
«1.00' 
♦ l.OO' 



(OR O FOR NONE) . 



PICK A NUMBER 

INPUT SA 

IF SA=0 THEN 4750 

IF SA=4 THEN 4610 

PRINT "HOW MANY UNITS?" 

INPUT UN 

GOSUB 4710 

PRINT "YOU NOW HAVE ";WA;" KIDS TO WASH CARS" 
"AND ";5-WA;" KIDS AT THE CURB" 
"WAVING CARS IN. EACH KID AT THE CURB" 
"HAS A POSTER («1.00) #MMD A BIG SMILE," 
"♦»*»»»#*BUT THEY CAN'T WASH CARS !♦♦***»' 



PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

WA=5 

INPUT UN 

GOSUB 6130 

TT=TT+TL 

BA=BA-TL 



"HOW MANY OF YOUR 
"THE CURB?" 



5 KIDS DO YOU WANT AT' 



4740 

4750 

5000 

5010 

5020 

5030 

5040 

5050 

5060 

5070 

5080 

5090 

5120 

5130 

5140 

5150 

5160 

5170 

5180 

5190 

5200 

5210 

5220 

5230 

5500 

5510 

5520 

5530 

5540 

5550 

5S60 

5570 

SS80 

5590 

5600 

5610 

5620 

5630 

S640 

5&50 

5660 

5670 

S! " 

5680 

5690 

5700 

5710 

5720 

5730 

5740 

6000 

6010 

6020 

6030 

6040 

6050 

6060 

6070 



GOTO 4410 

REM 

REM LIST VARIABLES 

L=24 

18OO0 

" SUMMARY FOR START OF DAY 



;DA 

"WEATHER FORECAST: ";WP« 

"CASH ON HAND : «";BA 

"CASH VALUE OF CAR WASH SUPPLIES 

"NUMBER OF 'CURB KIDS': ";5-WA 

"NUMBER OF CAR WASHERS: ";WA 

"PRICE PER CAR: *";P 

"PRESS 'RETURN'" 

"TO BET THE DAY GOING!" 



60SUB 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

L=3 

eOSUB 18000 

INPUT S% 

REM WASH CARS! 

GOSUB 6640 

GOSUB 6750 

GOSUB 68SO 

IC=P*VW 

BA=BA+IC 

PRINT "WEATHER: ";WF« 

PRINT "TRAFFIC: ";SF« 

PRINT "VEHICLES WASHED: ";VW 

PRINT "VEHICLES NOT WASHED: ' 

PRINT "INCOME: *";IC 

PRINT "COST OF MATERIALS USED: 

PRINT "MATERIALS STARTED WITH: 

PRINT "BALANCE ON HAND: *";BA 

MM=MM-(VW»0.25) 

TT=0 

PRINT 

IF VI>WA»20 THEN PRINT "TOO MANY CARS FOR 

IF MM<0.25 THEN PRINT "OUT OF SUPPLIES!" 

PRINT 

PRINT "PRESS 'RETURN' TO CONTINUE." 

L=6 

GOSUB 18000 

INPUT S* 

GOTO 4000 

REM CALCULATIONS 

REM PRICE FACTOR 

IF P<4.5 THEN 6040 

PRINT "YOUR PRICE IS TOO HIGH!" 

IF P>0.25 THEN 6060 

PRINT "YOUR PRICE IS TOO LOW!" 

IF P<0.76 THEN PF=2 

IF P>0.75 AND P<1.26 THEN PF=1.5 



I MM 



';vi-vw 



*"iVW*0.25 
«";MM 



;wa;" was^^R 



267 



6080 IF P>1.25 AND P< 1 . 76 THEN PF=1 

6090 IF P>1.75 AND P<2.51 THEN PF=0.75 

6100 IF P>2.5 AND P<3.51 THEN PF=0.5 

6110 IF P>3.5 THEN PF=0.25 

6120 RETURN 

6130 REM ADVERTISING FACTOR 

6140 ON SA GOTO 6150,6190,6230,6270 

6150 TL=20*UN 

6160 GOSUB 11000 

6170 AF=AF+0. 1*UN 

6180 RETURN 

6190 TL=5»UN 

6200 GOSUB llOOO 

62 lO AF=AF+0. 05*UN 

6220 RETURN 

6230 TL=1»UN 

6240 GOSUB llOOO 

6250 AF=AF+0.02*UN 

6260 RETURN 

6270 TL=1»UN 

6280 WA==UIA-UN 

6290 GOSUB llOOO 

6300 AF=AF+0.2*UN 

6310 RETURN 

6320 REM WEATHER PREDICTION 

6330 N=100 

6340 GOSUB lOOOO 

6350 IF R<31 THEN WP=1 

6360 IF R>30 AND R<61 THEN WP=2 

6370 IF R>60 AND R<86 THEN WP=3 

6380 IF R>85 THEN WP=4 

6390 ON WP GOTO 6400,6460,6520,6580 

6400 WP«="10y. CHANCE OF RAIN" 

6410 A=50 

6420 B=30 

6430 C=10 

6440 D=10 

6450 RETURN 

6460 WP*="257. CHANCE OF RAIN" 

6470 A=30 

6480 B=35 

6490 C=20 

6500 D=15 

6510 RETURN 

6520 WP*="507. CHANCE OF RAIN" 

6530 A=15 

6540 B=20 

6550 C=30 

6560 D=35 

6570 RETURN 

6580 WP»="907. CHANCE OF RAIN" 

6590 A=5 

6600 B=10 

66 lO C=20 

6620 D=65 

6630 RETURN 



268 



6640 

6650 

6660 

6670 

6680 

6690 

6700 

6710 

6720 

6730 

6740 

6750 

6760 

6770 

6780 

6790 

6800 

6810 

6820 

6830 

6840 

68SO 

6860 

6870 

6880 

6890 

6900 

69 lO 

6920 

6930 

6940 

6950 

7000 

7010 

7020 

7030 

7040 

7050 

7060 

7070 

lOOOO 

lOOlO 

10020 

llOOO 

IIOIO 

11020 

11030 

11040 

11050 

11060 

11070 

11080 

11090 

18000 

18010 

18020 



REM ACTUAL WEATHER 

GOSUB 10000 

IF R<A+1 THEN WF=1.5 

R>A AND R<A+B+1 THEN WF=1 
R>A+B AND R<A+B+C+1 THEN WF=0.5 
R>A+B+C THEN WF=1.0E-03 
WF=1.5 THEN WF*="HOT AND SUNNY" 
WF=1 THEN WF*=" PARTLY SUNNY" 
WF=0.5 THEN WF«= " CLOUDY " 
WF=l.0E-03 THEN WF*="RAIN!" 

RETURN 

REM STREET FACTOR 

N=10 

GOSUB 10000 

IF R<4 THEN SF»1.3 

IF R>3 AND R<10 THEN SF=1 

IF R=10 THEN SF=0.5 

3 THEN SF«=" HEAVY TRAFFIC" 
THEN SF*=" AVERAGE TRAFFIC" 
5 THEN SF*=" STREET REPAIRS!" 



IF 
IF 
IF 
IF 
IF 
IF 
IF 



IF SF=1. 

IF SF=1 

IF SF=0. 

RETURN 

REM BUSINESS FOR DAY 

VI=INT <50*PF* < AF+1 ) *WF»SF) 

VM=WA»20 

ML=MM/0, 25 

IF VKVM THEN 6920 

VW=VM 

GOTO 6950 

VW=VI 

IF VW<ML THEN 6950 

VW=ML 

RETURN 

REM ADD TO MATERIALS 

IF SA>BA THEN GOTO 7060 

BA=BA-SA 

MM=MM+SA 

SA=0 

RETURN 

PRINT "THAT'S MORE THAN YOU HAVE!" 

RETURN 

REM RANDOMIZATION 

R=INT (RND (0) *N) +1 

RETURN 

REM CHECK BALANCE 

IF TL>BA OR WA<1 THEN 11030 

RETURN 

IF TL>BA THEN GOTO 11050 

GOTO 11080 

PRINT "YOU DON'T HAVE *";TL;"!" 

TL=0 

GOTO 4400 

PRINT "THERE'S NO ONE LEFT TO WASH CARS! 

GOTO 46 lO 

REM SCROLLING 

FOR 1=1 TO L 

PRINT 



269 



18030 
18040 
19000 
19010 
19020 
19030 
20000 
20010 
20020 
20030 
20040 
20050 
20060 
20070 
20080 
20090 
20100 
201 lO 
20120 



NEXT I 

RETURN 

REM DELAY 

FOR 1=1 TO DE 

NEXT I 

RETURN 

REM CLOSING 

L=24 

GOSUB 18000 

PRINT "YOUR 5 DAYS AWE OVER!" 

PRINT 

PRINT "YOU HAVE ACCUMULATED A TOTAL OF " 

PRINT BA;" DOLLARS!" 

PRINT "DIVIDED 5 WAYS (REMEMBER YCMJR 4" 

"PARTNERS), THAT MAKES ";BA/5S" DOLLARS" 

"PER PERSON!" 



PRINT 

PRINT 

L=6 

GOSUB 

END 



18000 



TABLE OF VARIABLES 



BA 



WA 



1010 


4200 


4390 


4420 


4730 


4730 


5070 


5550 


5550 


5630 


7010 


7020 


7020 


iioio 


11030 


20060 


20080 




1 
1020 


4030 


4610 


4620 


4690 


5130 


5150 


5670 


5670 


6280 


6280 


6870 


IIOIO 













s« 



1030 2310 4310 4320 5230 3730 



SF* 

1030 5570 6810 6820 6830 

WF« 

1030 5560 6700 6710 6720 6730 



WP* 

1030 4140 5050 6400 6460 6520 
6580 



2010 2040 2080 2290 4040 4070 
4150 5010 5210 5710 ISOIO 20010 
20100 



DE 



2060 4090 4170 19010 



270 



DA 

4010 40 lO 4020 4060 5030 

P 

4230 4250 4250 5170 5540 6020 

6040 6060 6070 6070 6080 6080 

6090 6090 6100 6100 6110 

MM 

4280 4380 S090 5620 5640 5640 
5680 6880 7030 7030 

SA 

4350 4370 4550 4560 4570 6140 
70 lO 7020 7030 7040 

TT 

4430 4720 4720 5650 

UN 

4590 4700 6150 6170 6190 6210 
6230 6250 6270 6280 6300 

TL 

4720 4730 6150 6190 6230 6270 
IIOIO 11030 11050 11060 

IC 

5540 5550 5600 

VW 

5540 5580 5590 56 lO 5640 6900 
6920 6930 6940 

VI 

5590 5670 6860 6890 6920 

PF 

6060 6070 6080 6090 61 CO 6110 
6860 

AF 

6170 6170 6210 6210 6250 6250 
6300 6300 6860 

N 

6330 6760 lOOlO 

R 

6350 6360 6360 6370 6370 6380 

6660 6670 6670 6680 6680 6690 

6780 6790 6790 6800 10010 

WP 

6350 6360 6370 6380 6390 



271 



A 

6410 6470 6530 6590 6660 6670 
6670 6680 6680 6690 

B 

6420 6480 6540 6600 6670 6680 
6680 6690 

C 

6430 6490 6550 6610 6680 6690 



D 

6440 6500 6560 6620 

WF 

6660 6670 6680 6690 6700 6710 
6720 6730 6860 

SF 

6780 6790 6800 68 lO 6820 6830 
6860 

VH 

6870 6890 6900 

ML 

6880 6930 6940 

I 

18010 18030 19010 19020 



PROGRAM LISTING: MICROSOFT BASIC 

lOO REM CAR WASH BY 6ARY 0RWI6 

500 REM RESEED RND 

51 O RANDOMIZE 

lOOO REM INITIALIZATICMM 

lOlO BA = 25. CO 

1020 WA = 5 

1030 REM USE FULL SCREEN 

1040 POKE 82,0 

1050 CLS 

2000 REM INTRODUCTION 

2010 L = 24 

2020 GOSUB 18000 

2030 PRINT " CAR WASH!" 

2040 L = 12 

2050 GOSUB 18000 

2060 DE = 1500 

2070 GOSUB 19000 

2080 L = 24 

2090 GOSUB 18000 

2100 PRINT "YOU ARE GOING TO START A CAR WASH! 

2110 PRINT 



272 



2120 
2130 
2140 
2150 
2160 
2170 
2180 
2190 
2200 
2210 

2230 

2240 

2250 

2260 

2270 

2280 

2290 

2300 

2310 

4000 

4010 

4020 

4030 

4040 

4050 

4060 

4070 

4080 

4090 

4100 

4110 

4120 

4130 

4140 

4150 

4160 

4170 

4 ISO 

4190 

4200 

4210 

4220 

4230 

4240 

4250 

4260 

4270 

4280 

4290 

4300 

4310 

4320 

4330 

4340 

4350 



"YOU WILL HAVE A TOTAL OF 5 WORKERS," 
"EACH OF WHOM CAN WASH A MAXIMUM OF" 
"20 CARS DURING THE DAY." 

"AS YOU WILL SEE, THERE ARE A" 
"NUMBER OF FACTORS YOU MUST CONSIDER,' 
"BUT BY ALL MEANS, YOU NEED TO WATCH" 
"THE WEATHER FORECASTS, SINCE RAINY" 
"WEATHER WILL DO YOU IN!" 

"THE ONLY WAY TO LEARN IS BY DOING, SO* 
"WHEN YOU ARE READY, PUSH THE" 
"'RETURN' KEY." 



PRINT "YOU WILL RUN IT FOR FIVE DAYS" 

PRINT "WITH THE SOLE OBJECT BEING TO MAKE' 

PRINT "AS MUCH MONEY AS POSSIBLE!" 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

L = 3 

60SUB 18000 

INPUT S* 

REM MAIN PROGRAM 

DA = DA + 1 

IF DA = 6 THEN 20000 

WA = 5 

L = 24 

GOSUB 18000 

PRINT "TODAY 

L = 6 

GOSUB 18000 

DE = 1500 

GOSUB 19000 

GOSUB 6320 

PRINT 

PRINT "THE WEATHER FORECAST IS: " 

PRINT WP» 

L = 12 

GOSUB 18000 

DE = 2000 

GOSUB 19000 

18000 

"YOU HAVE A BALANCE OF ";BA;" DOLLARS. 



IS DAY NUMBER "jDA;"." 



■WHAT PRICE ARE YOU GOING TO CHARGE' 



GOSUB 

PRINT 

PRINT 

PRINT 

INPUT P 

GOSUB 6010 

IF P < .26 OR P 

PRINT 

"IT COSTS ABOUT .25 PER CAR FOR MATERIALS" 
"PRESENTLY YOU HAVE ";MM;" DOLLARS" 
"WORTH OF SOAP, SPONGES, RAGS, ETC." 
"DO YOU WISH TO ADD TO THIS (YES OR NO)" 



> 4.49 THEN 4220 



PRINT 
PRINT 
PRINT 
PRINT 
INPUT S* 
IF S* = "NO- 
PRINT 
PRINT 



THEN 4400 



•ENTER THE AMOUNT YOU WANT TO ADD. 



INPUT SA 



273 



4360 

4370 

4380 

4390 

4400 

44 lO 

4420 

4430 

4440 

4450 

4460 

4470 

4480 

4490 

4500 

4510 

4520 

4530 

4540 

4550 

4560 

4570 

4580 

4590 

4600 

4610 

4620 

4630 

4640 

4650 

4660 

4670 

4680 

4690 

4700 

4710 

4720 

4730 

4740 

4750 

5000 

5010 

5020 

5030 

5040 

5050 

S060 

5070 

5080 

5090 

5120 

5130 

5140 

51 50 

5160 

5170 



60SUB 7000 

IF SA > O THEN 4340 

"YOU NOW HAVE «";MM; 

"AND A BALANCE OF *" 



PRINT 

PRINT 

PRINT 

REM 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 



'• WORTH OF MATERIALS. 
;BA 



"BALANCE = ♦";BA 

"AMOUNT SPENT ON ADVERTISING = *";TT 
"YOU HAVE A CHOICE CM=^ THE FOLLOWING" 
"FORMS OF ADVERTISING:" 



MEDIUM 



COST PER UNIT" 



"1. 
"2. 
"3. 
"4. 



RADIO 
NEWSPAPER 
POSTERS 
KIDS AT CURB 



♦20.00" 
♦5.00" 
♦l.OO* 
«1.00' 



<0R O FOR NONE) 



"YOU NOW HAVE ";WA;" KIDS TO WASH CARS" 
"AND ";5 - WA;" KIDS AT THE CURB" 
"WAVING CARS IN. EACH KID AT THE CURB" 
"HAS A POSTER («1.00) AND A BIG SMILE," 
•■**«**»»«BUT THEY CAN'T WASH CARS !**»♦»*' 



"HOW MANY OF YOUR 5 
"THE CURB?" 



PICK A NUMBER 
INPUT SA 

IF SA = O THEN 4750 
IF SA = 4 THEN 4610 
PRINT "HOW MANY UNITS?" 
INPUT UN 
GOSUB 4710 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
WA = 5 
INPUT UN 
GOSUB 6130 
TT = TT + TL 
BA = BA - TL 
GOTO 4410 
REM 

REM LIST VARIABLES 
L = 24 
GOSUB 18000 

PRINT " SUMMARY FOR START OF DAY 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 



KIDS DO YOU WANT AT' 



;da 



"WEATHER FORECAST: ";WP« 

"CASH ON HAND : «";BA 

"CASH VALUE OF CAR WASH SUPPLIES : «";MM 



"NUMBER OF 'CURB KIDS': ";5 - 
"NUMBER OF CAR WASHERS: ";WA 
"PRICE PER CAR: «";P 



WA 



274 



5180 PRINT 

5190 PRINT "PRESS 'RETURN'" 

5200 PRINT "TO GET THE DAY GOING!" 

5210 L = 3 

5220 GOSUB ISOOO 

5230 INPUT S* 

5500 REM WASH CARS! 

55 lO GOSUB 6640 

5S20 GOSUB 6750 

5530 GOSUB 6850 

5540 IC = P « VW 

5550 BA = BA -I- IC 

55&0 PRINT "WEATHER 

5570 PRINT 

5580 PRINT 

5590 PRINT 

5600 PRINT 

5A10 PRINT 



" ; WF« 
"TRAFFIC: ";SF* 
"VEHICLES WASHED: ";VW 
"VEHICLES NOT WASHED: ";VI - VW 
"INCOME: ♦";IC 

"COST OF MATERIALS USED: ♦";VW • 
5620 PRINT "MATERIALS STARTED WITH: «";MM 
5630 PRINT "BALANCE ON HAND: «";BA 
- (VW * .25) 



,25 



MM 
O 



> WA ♦ 20 THEN PRINT "TOO MANY CARS FOR ";WA;" W 
< .25 THEN PRINT "OUT OF SUPPLIES!" 
"PRESS 'RETURN' TO CONTINUE." 



5640 MM = 

5650 TT = 

5660 PRINT 

5670 IF VI 

ASHERS ! " 

5680 IF MM 

5690 PRINT 

5700 PRINT 

5710 L = 6 

5720 GOSUB 18000 

5730 INPUT S* 

5740 GOTO 4000 

6000 REM CALCULATIONS 

6010 REM PRICE FACTOR 

6020 IF P < 4.50 THEN 6040 

6030 PRINT "YOUR PRICE IS TOO HIGH!" 

6040 IF P > .25 THEN 6060 

6050 PRINT "YOUR PRICE IS TOO LOW!" 

.76 THEN PF = 

.75 AND P < 1 

1.25 AND P < 

1.75 AND P < 

2.50 AND P < 

3.50 THEN PF = .25 
6120 RETURN 

6130 REM ADVERTISING FACTOR 
6140 ON SA GOTO 6150,6190,6230,6270 
6150 TL = 20 * UN 
6160 GOSUB 11000 
6170 AF = AF + .10 * UN 
6 ISO RETURN 
6190 TL = 5 ♦ UN 
6200 GOSUB llOOO 
6210 AF = AF + .05 * UN 
6220 RETURN 
6230 TL = 1 * UN 



6060 


IF 


P 


< 


6070 


IF 


P 


> 


6080 


IF 


P 


> 


6090 


IF 


P 


> 


6100 


IF 


P 


> 


6110 


IF 


P 


> 



2.0 
.26 THEN PF = 1.5 
1.76 THEN PF = 1.0 
2.51 THEN PF = .75 
3.51 THEN PF = .50 



275 



6240 60SU6 11000 

6250 AF = AF + .02 * UN 

6260 RETURN 

6270 TL = 1 * UN 

6280 WA =: WA - UN 

6290 60SUB llOOO 

6300 AF = AF + .2 * UN 

6310 RETURN 

6320 REH WEATHER PREDICTION 

6330 N = 100 

6340 GOSUB 10000 

6350 IF R < 31 THEN WP = 1 

6360 IF R > 30 AND R < 61 THEN WP = 2 

6370 IF R > 60 AND R < 86 THEN WP = 3 

6380 IF R > 85 THEN WP = 4 

6390 ON WP GOTO 6400,6460,6520,6580 

6400 WP» = "107. CHANCE OF RAIN" 

6410 A = 50 

6420 B = 30 

6430 C = 10 

6440 D = lO 

6450 RETURN 

6460 WP« = "257. CHANCE OF RAIN" 

6470 A = 30 

6480 B = 35 

6490 C = 20 

6500 D = 15 

65 lO RETURN 

6520 WP* = "507. CHANCE OF RAIN" 

6530 A = 15 

6540 B = 20 

6550 C = 30 

6560 D = 35 

6570 RETURN 

6580 WP* = "907. CHANCE OF RAIN" 

6590 A = 5 

6600 B = 10 

6610 C = 20 

6620 D = 65 

6630 RETURN 

6640 REM ACTUAL WEATHER 

6650 GOSUB lOOOO 

6660 IF R < A + 1 THEN WF = 1.5 

6670 IF R > A AND R < A + B + 1 THEN WF = 1 

6680 IF R > A + B AND R<A+B+C+1 THEN WF = 

6690 IFR>A+B+C THEN WF = .OOl 

6700 IF WF = 1.5 THEN WF* = "HOT AND SUNNY" 

67 lO IF WF = 1 THEN WF* = "PARTLY SUNNY" 

6720 IF WF = .5 THEN WF* = "CLOUDY" 

6730 IF WF = .001 THEN WF* = "RAIN!" 

6740 RETURN 

6750 REM STREET FACTOR 

6760 N = lO 

6770 GOSUB 10000 

6780 IF R < 4 THEN SF = 1.3 

6790 IF R > 3 AND R < 10 THEN SF = 1 



276 



6800 

6810 

6820 

6830 

6840 

68S0 

6860 

6870 

6880 

6890 

6900 

6910 

6920 

6930 

6940 

6950 

7000 

7010 

7020 

7030 

7040 

7050 

7060 

7070 

lOOOO 

lOOlO 

10020 

llOOO 

11010 

11020 

11030 

11040 

11050 

11060 

11070 

11080 

11090 

18000 

18010 

18020 

18030 

18040 

19000 

19010 

19020 

19030 

20000 

20010 

20020 

20030 

20040 

20050 

20060 

20070 

20080 

20090 



IF R = 10 THEN SF = .5 

IF SF = 1.3 THEN SF« = "HEAVY TRAFFIC" 

IF SF = 1 THEN SF* = "AVERAGE TRAFFIC" 

IF SF = .5 THEN SF* = "STREET REPAIRS!' 

RETURN 

REM BUSINESS FOR DAY 



VI 

VM 

ML 

IF 

VW 

GOTO 

VW = 



= INT 
= WA » 
= MM / 
VI < VM 
= VM 

6950 

VI 

ML 



(50 
20 
.25 
THEN 



» PF » (AF + 1) » WF ♦ SF) 



6920 



THEN 6950 



IF VW < 
VW = ML 
RETURN 

REM ADD TO MATERIALS 
IF SA > BA GOTO 7060 
BA = BA - SA 
MM = IW + SA 
SA = O 
RETURN 
PRINT 
RETURN 
REM 



'THAT'S MORE THAN YOU HAVE! 



1 THEN 11030 



RANDOMIZATION 
R = RND(N) 
RETURN 

REM CHECK BALANCE 
IF TL > BA OR WA < 
RETURN 

IF TL > BA GOTO 11050 
GOTO 11080 

PRINT "YOU DON'T HAVE *";TL;"!" 
TL = O 
GOTO 4400 

PRINT "THERE'S NO ONE LEFT TO WASH CARS!" 
GOTO 46 lO 
REM SCROLLING 
FOR I = 1 TO L 
PRINT 
NEXT I 
RETURN 
REM DELAY 
FOR I = 1 TO DE 
NEXT I 
RETURN 

REM CLOSING 
L = 24 
GOSUB 18000 

"YOUR 5 DAYS ARE 



PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 



OVER! 



"YOU HAVE ACCUMULATED A TOTAL OF " 

BA;" DOLLARS!" 

"DIVIDED 5 WAYS (REMEMBER YOUR 4" 

"PARTNERS), THAT MAKES ";BA / 5;" DOLLARS" 

"PER PERSON!" 



277 



20100 L = 6 
20110 60SUB 18000 
20120 END 



TABLE OF VARIABLES 

A - WEATHER FACTOR 

6410 6470 6S30 6S90 6660 6670 

6670 6680 6680 6690 

AF - ADVERTISING FACTOR 

6170 6170 6210 6210 6250 6250 

6300 6300 6860 

B - WEATHER FACTOR 

6420 6480 6540 6600 6670 6680 

6680 6690 

BA - BALANCE ON HAND 
lOlO 4200 4390 4420 4730 4730 
5070 5550 5550 5630 7010 7020 
7020 IIOIO 11030 20060 20080 

C - WEATHER FACTOR 

6430 6490 6550 6610 6680 6690 

D - WEATHER FACTOR 
6440 6500 6S60 6620 

DA - DAY NUMBER 

4010 40 lO 4020 4060 5030 

DE - DELAY 

2060 4090 4170 19010 

I - COUNTER 

18010 18030 19010 19020 

IC - INCOME 
5540 5550 5600 

L - LINES FOR SCROLLING 

2010 2040 2080 2290 4040 4070 

4150 5010 5210 5710 18010 20010 

20100 

ML - MATERIALS LIMIT 
6880 6930 6940 

MM - MATERIALS STARTED WITH 
4280 4380 5090 5620 5640 5640 
5680 6880 7030 7030 

N - MAXIMUM RANDOM NUMBER 
6330 6760 lOOlO 



278 



P - PRICE PER WASH 
4230 4250 4250 5170 5540 6020 
6040 6060 6070 6070 6080 6080 
6090 6090 6100 6100 6110 

PF - PRICE FACTOR 

6060 6070 6080 6090 6100 6110 

6860 

R - RANDOM NUMBER 
6350 6360 6360 6370 6370 6380 
6660 6670 6670 6680 6680 6690 
6780 6790 6790 6800 10010 

S* - STUDENT ANSWER 
2310 43 lO 4320 5230 5730 

SA - STUDENT ANSWER 

4350 4370 4550 4560 4570 6140 

70 lO 7020 7030 7040 

SF - STREET (TRAFFIC) FACTOR 
6780 6790 6800 6810 6820 6830 
6860 

SF* - STREET MESSAGE 
5570 68 lO 6820 6830 

TL - COST OF ADVERTISING AS SELECTED 
4720 4730 6150 6190 6230 6270 
IIOIO 11030 11O50 1106O 

TT - TOTAL ADVERTISING BUDGET FOR DAY 
4430 4720 4720 51 lO 5650 

UN - UNITS OF EACH AD TECHNIQUE 
4590 4700 6150 6170 6190 6210 
6230 6250 6270 6280 6300 

VI - VEHICLES ENTERING 
5590 5670 6860 6890 6920 

VM - MAXIMUM NO. OF VEHICLES WHICH COULD BE WASHED 
6870 6890 6900 

VW - VEHICLES ACTUALLY WASHED 
5540 5580 5590 56 lO 5640 6900 
6920 6930 6940 

WA - NUMBER OF CAR WASHERS 
1020 4030 4610 4620 4690 5130 
5150 5670 5670 6280 6280 6870 
llOlO 

WF - ACTUAL WEATHER FACTOR 
6660 6670 6680 6690 6700 6710 



279 



6720 6730 6860 

WF» - WEATHER MESSAGE 
5560 6700 6710 6720 6730 

WP - MEATHER PREDICTION 
6350 6360 6370 6380 6390 

WP* - WEATHER PREDICTION MESSAGE 
4140 SOSO 6400 6460 6S20 6S80 

END OF VAR. LIST 



SAMPLE RUN 

YOU ARE GOING TO START A CAR WASH! 

YOU WILL RUN IT FOR FIVE DAYS 
WITH THE SOLE OBJECT BEING TO MAKE 
AS MUCH MONEY AS POSSIBLE! 

YOU WILL HAVE A TOTAL OF 5 WORKERS, 
EACH OF WHOM CAN WASH A MAXIMUM OF 
20 CARS DURING THE DAY. 

AS YOU WILL SEE, THERE ARE A 
NUMBER OF FACTORS YOU MUST CONSIDER, 
BUT BY ALL MEANS, YOU NEED TO WATCH 
THE WEATHER FORECASTS, SINCE RAINY 
WEATHER WILL DO YOU IN! 

THE ONLY WAY TO LEARN IS BY DOING, SO 
WHEN YOU ARE READY, PUSH THE 'RETURN' 
KEY. 



TODAY IS DAY NUMBER 1, 



THE WEATHER FORECAST IS: 
257. CHANCE OF RAIN 



YOU HAVE A BALANCE OF 25 DOLLARS. 

WHAT PRICE ARE YOU GOING TO CHARGE72.00 

IT COSTS ABOUT .25 PER CAR FOR MATERIALS 

PRESENTLY YOU HAVE O DOLLARS 

WORTH OF SOAP, SPONGES, RAGS, ETC. 

DO YOU WISH TO ADD TO THIS (YES OR NO) 

7YES 

ENTER THE AMOUNT YOU WANT TO ADD. 



280 



715.00 

YOU NOW HAVE *15 WORTH OF MATERIALS. 

AND A BALANCE OF «10 

BALANCE = «10 

AMOUNT SPENT ON ADVERTISING = *0 
YOU HAVE A CHOICE OF THE FOLLOWING 
FORMS OF ADVERTISING: 

MEDIUM COST PER UNIT 

1. RADIO «20.00 

2. NEWSPAPER «5.00 

3. POSTERS *1.00 

4. KIDS AT CURB «1.00 

PICK A NUMBER (OR O FOR NONE). 

?2 

HOW MANY UNITS? 

?1 

BALANCE = «5 

AMOUNT SPENT ON ADVERTISING = »5 

YOU HAVE A CHOICE OF THE FOLLOWING 

FORMS OF ADVERTISING: 

MEDIUM COST PER UNIT 

1. RADIO «20.00 

2. NEWSPAPER *5.00 

3. POSTERS *1.00 

4. KIDS AT CURB *1.00 

PICK A NUMBER (OR O FOR NONE) . 

?3 

HOW MANY UNITS? 

?5 

BALANCE = «0 

AMOUNT SPENT ON ADVERTISING = »10 

YOU HAVE A CHOICE OF THE FOLLOWING 

FORMS OF ADVERTISING: 

MEDIUM COST PER UNIT 

1. RADIO *20.00 

2. NEWSPAPER *5.00 

3. POSTERS *1.00 

4. KIDS AT CURB *1.00 

PICK A NUMBER (OR O FOR NONE). 

?o 

SUMMARY FOR START OF DAY 1 

WEATHER FORECAST: 25y. CHANCE OF RAIN 

CASH ON HAND : «0 

281 



CASH VALUE OF CAR WASH SUPPLIES : «15 

ADVERTISING BUDGET FOR TODAY: «10 

NUMBER OF 'CURB KIDS': O 

NUMBER OF CAR WASHERS: 5 

PRICE PER CAR: *2 

PRESS 'RETURN' 

TO GET THE DAY GOING! 

? 

WEATHER: HOT AND SUNNY 

TRAFFIC: AVERAGE TRAFFIC 

VEHICLES WASHED: 60 

VEHICLES NOT WASHED: 4 

INCOME: «120 

COST OF MATERIALS USED: ♦IS 

MATERIALS STARTED WITH: *15 

BALANCE ON HAND: $120 

OUT OF SUPPLIES! 

PRESS 'RETURN' TO CONTINUE. 

TODAY IS DAY NUMBER 2. 



282 




Check-Out 
Counter 



PROGRAM DESCRIPTION 

This program roughly simulates some of the things you would 
do at a department store check-out counter. The computer scrolls a 
number of prices and you must simulate the operation of a cash 
register by entering the prices into the computer one at a time. You 
must enter the correct prices and give the right amount of change 
at the end of the check-out or you will have a great number of 
angry customers! As you proceed, the prices will move faster and 
faster to help you increase your efficiency. The faster you can go 
without making any errors the higher your pay will be. 

PROGRAM NOTES 

1, It might be more effective to "flash" the numbers by clearing 
the screen, printing the number, pausing, then clearing the 

screen again. 

2. Computers usually do a terrible job of sticking to precisely 
two decimal places as required by money amounts. The 
Microsoft BASIC has a sure cure for this if you investigate the 
PRINT USING command. For the ATARI BASIC, consider 
writing a "Mighty Money Maker" subroutine through which 
all money values would pass. The main problem areas are in 
the printing of 3.4 dollars instead of 3.40, or printing 
3.4000001 dollars instead of 3.40. Good luck! 



283 



PROGRAM LISTING: BASIC 



lOO REM CHECK-OUT COUNTER BY GARY 0RWI6 

lOOO REM INITIALIZATION - 'MX' IS MAXIMUM OF VALUES DISPLAYE 

D. 

1010 MX=10 

1020 DIM R«(1S),SA«(15> 

1030 REM USE FULL SCREEN 

POKE 82,0 

PRINT 

REM INTRODUCTION 

L=24 

60SUB 18000 

FOR J=l TO 10 

PRINT " CHECK - OUT COUNTER" 

L=12 

60SUB 18000 

D=25 

60SUB 19000 

NEXT J 

PRINT "THIS PROGRAM ROUGHLY SIMULATES SOI£ OF" 
THE THINGS YOU WOULD DO AT A DEPARTMENT" 
STORE CHECK OUT COUNTER." 



1040 

1050 

2000 

2010 

2020 

2030 

2040 

2050 

2060 

2070 

2080 

2090 

2100 

2110 

2120 

2130 

2140 

2150 

2160 

2170 

2180 

2190 

22O0 

2210 

2220 

2230 

2240 

2250 

2260 

2270 

2280 

2290 

2300 

2310 

3000 

3010 

3020 

3030 

3040 

3050 

3060 

3070 

3080 

3090 

3100 

3110 

3120 

3130 



PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
INPUT 



"YOU WILL SEE A BUNCH OF PRICES, AND" 
"TYPE THEM ONE AT A TIME INTO THE " 
"COMPUTER. YOU MUST TYPE THEM IN" 
"ACCURATELY, OR YOU WILL HAVE ANGRY" 
"CUSTOMERS AFTER YOU ! " 

"AFTER TYPING IN ALL THE PRICES, YOU" 
"WILL RING UP A TOTAL, BE GIVEN CASH," 
"AND MAKE THE CORRECT CHANGE." 
"ONCE AGAIN, YOU MUST BE ACCURATE!" 

"AS YOU PROCEED, THE PRICES WILL MOVE" 
"FASTER AND FASTER. THE FASTER YOU CAN" 
"GO WITHOUT MISTAKES, THE HIGHER YOUR" 
"PAY WILL BE!" 



"PUSH 
SA« 



'RETURN' TO START. 



REM EXAMPLE 
GOSUB 18000 



PRINT 

GOSUB 

D=200 

GOSUB 

GOSUB 

GOSUB 

PRINT 

GOSUB 

D=40 

GOSUB 

L=24 

GOSUB 



"YOU WILL 
18000 

19000 
18000 
10000 

18000 

19000 

18000 



SEE A PRICE, LIKE THIS: 



;r« 



284 



3140 

3150 

3160 

3170 

3180 

3190 

3200 

3210 

3220 

3230 

3240 

3250 

3260 

4000 

4010 

4020 

4030 

4040 

4050 

4060 

4070 

4080 

4090 

4100 

4110 

4120 

4130 

4140 

4150 

AlhO 

4170 

41BO 

4190 

4200 

4210 

4220 

4230 

4240 

4250 

4260 

4270 

4280 

4290 

4300 

4310 

4320 

4330 

4340 

4350 

4360 

4370 

4380 

4390 

4400 

44 lO 

4420 



PRINT "AS SOON AS THE PRICE DISAPPEARS, 

PRINT "IT IN AND PUSH 'RETURN'." 

INPUT SA« 

IF SA«=R« THEN PRINT "VERY GOOD!" 

D=200 



TYPE" 



19000 
18000 



18000 
19000 



GOSUB 

60SUB 

PRINT 

L=12 

GOSUB 

GOSUB 

D=60 

MX=10 

REH MAIN PROGRAM 

IF D<10 THEN 20000 

GOSUB lOOOO 

L=12 

GOSUB 18000 

PRINT " 

GOSUB 

GOSUB 



HERE WE GO!" 



;r« 



18000 
19000 



GOSUB 18000 

INPUT SA 

GOSUB llOOO 

GOTO 4000 

PRINT "PUSH 'RETURN' TO GET' 

PRINT "THE TOTAL." 

INPUT SA« 

PRINT "YOUR TOTAL IS ";SS 

REM CALCULATE PAYKENT 

PA=PA+10 

IF PA>SS THEN 4200 

GOTO 4170 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

CC=PA-SS 

CC=INT(CC»100+0.5)/100 

PRINT "THE REQUIRED CHANGE 

PRINT "DOLL#«S." 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

INPUT SA 

SC==SA*5+SC 

PRINT "HOW MANY 'ONES'?' 

INPUT SA 

SC=SA+SC 

PRINT "HOW MANY 

INPUT SA 

SC=SA*0.25+SC 

PRINT "HOW MANY 'DIMES'?" 



"THE CUSTOiER PAYS YOU WITH ";PA 
"DOLLARS. " 



IS -;CC 



"CHANGE BACK: 



•HOW MANY 'FIVES'?' 



'QUARTERS'?" 



285 



4430 

4440 

4450 

4460 

4470 

4480 

4490 

4500 

4510 

4520 

4530 

4540 

4550 

4560 

4570 

4580 

4590 

4600 

4610 

4620 

4630 

4640 

4650 

4660 

4670 

4680 

4690 

4700 

4710 

4720 

5000 

5O10 

5020 

5030 

5040 

5050 

5060 

5070 

5080 

5090 

5100 

5110 

51 20 

5130 

5140 

5150 

5160 

5170 

5180 

5190 

5200 

5210 

5220 

5230 

6000 

6010 



NICKLES'?" 



'PENNIES'?' 



INPUT SA 

SC=SA*0. 1+SC 

PRINT "HOW MAY ' 

INPUT SA 

SC=SA*0.05+SC 

PRINT "HOW MANY 

INPUT SA 

SC=SA»0.01+SC 

PRINT 

PRINT "YOU GAVE THE CUSTOI«R ";SC 

PRINT "DOLLARS CHANGE. " 

CC=INT<CC*100+0.5)/100 

SC=INT<SC*100+0.5)/100 

IF CC=SC THEN 4710 

PRINT "THE CASH REGISTER SHOWS THAT YOU SHOULD" 

PRINT "HAVE PAID BACK ";CC;" DOLLARS!" 

IF cose THEN 4650 

PRINT "CUSTOMER GOES AWAY HAPPY!!" 

PRINT "BUT YOUR PAY WILL BE DOCKED!" 

D=D+10 

PRINT 

GOTO 5000 

PRINT "ANGRY CUSTOMER WANTS MANAGER!!" 

PRINT 

PRINT "MANAGER SMOOTHS THINGS OUT, BUT HE" 

PRINT "IS SURE MAD AT YOU!" 

D=D+10 

GOTO 5000 

PRINT "GOOD GOING!" 

D=D-10 

REM SPOT CHECK TOTAL 

PRINT " A SPOT CHECK OF THE PURCHASES" 

PRINT "SHOWS THE CORRECT TOTAL IS: ";CT 

PRINT "DOLLARS. " 

PRINT "YOUR TOTAL WAS: ";SS 

PRINT "DOLLARS. " 

CT=INT<CT*100+0.5)/100 

SS=INT (SS*100+0. 5) /lOO 

IF CT=SS THEN 5220 

IF CT>SS THEN 5160 

PRINT "YOU OVER CHARGED THE CUSTOTCR " 

DF=INT ( (SS-CT) *100+0. 5) / lOO 

PRINT DF;" DOLLARS" 

PRINT "BECAUSE YOU KEYED IN THE PRICES WRONG!" 

D=D+10 

GOTO 6000 

PRINT "THE STORE LOST" 

DF=INT ( (CT-SS) »100+0. 5) /lOO 

PRINT DF; " DOLLARS BECAUSE" 

PRINT "YOU KEYED IN THE PRICES WRONG!" 

D=D+10 

GOTO 6000 

PRINT "GOOD GOING!" 

D=D-10 

REM GO AGAIN? 

PA=INT ( 120-D) /20 



286 



6080 
6090 



"YOUR PRESENT PAY IS "J PA 
"DOLLARS PER HOUR. " 

"WOLN-D YOU LIKE TO GO AGAIN?" 
"(YES OR NO)" 



THEN 20060 



•PRESS 'RETURN' TO START. 



6020 PRINT 
6030 PRINT 
6040 PRINT 
6050 PRINT 
6060 PRINT 
6070 PRINT 

INPUT SA* 

IF SA«="NO* 
6100 REM RESET 
6110 PA=0 
6120 CT=0 
6130 SS=0 
6140 SA=0 
6150 CC=0 
6160 SC=0 
6170 DF=0 
6 ISO PB=0 
6190 PRINT 
6200 PRINT 
6210 IlNff^UT SA« 
6220 GOTO 4000 
lOOOO REM RM^DCmiZATION 
lOOlO R=RND(0)*MX 
10020 R*=STR*(R) 
10030 FOR 1=1 TO LEN(R«) 
10040 IF R»(I,I)<>"." THEN NEXT I 
10050 IF I+2>LEN(R«) THEN lOOOO 
10060 R«=R« ( 1 , 1+2) 
10070 RETURN 
llOOO REM JUDGE ANSWER 
IIOIO CT=CT+VAL(R*) 
11020 SS=SS+SA 
11030 PB=PB+1 
11040 IF PB=11 THEN 4120 
11050 RETURN 
18000 REM SCROLLING 
IBOIO FOR 1=1 TO L 
18020 PRINT 
18030 NEXT I 
18040 RETURN 
19000 REM DELAY 
19010 FOR 1=1 TO D 
19020 NEXT I 
19030 RETl^N 
20000 REM CLOSE 

20010 PRINT "YOU ARE A SUPER WHIZ AT THE CHECKOUT" 
"COUNTER! YOU MAY RETIRE WITH FULL" 
"BENIFITS!" 



20020 PRINT 
20030 PRINT 
20040 PRINT 
20050 PRINT 
20060 END 



•BYE! 



TABLE OF VARIABLES 

MX 

lOlO 3260 lOOlO 



287 



288 



R« 

1020 3080 3170 4050 10020 10030 
10040 10050 10060 10060 11010 

SA« 

1020 2310 3160 3170 4140 6080 
6090 6210 

L 

2010 2050 3120 3220 4030 18010 



J 

2030 2O90 

D 

2070 3040 3100 3180 3250 4010 

4620 4620 4690 4690 4720 4720 

5140 5140 5200 5200 5230 5230 

6010 19010 

SA 

4090 4340 4350 4370 4380 4400 

4410 4430 4440 4460 4470 4490 

4500 6140 11020 

SS 

4150 4180 4250 5040 5070 5070 

5080 5090 5110 5170 6130 11020 
11020 

PA 

4170 4170 4180 4220 4250 6010 

6030 6110 

CC 

4250 4260 4260 4270 4540 4540 

4560 4580 4590 6150 

SC 

4350 4350 4380 4380 4410 44 lO 

4440 4440 4470 4470 4500 4500 

4520 4550 4550 4560 4590 6160 



CT 

5020 5O60 5060 5080 5090 5110 
5170 6120 11010 11010 

DF 

51 lO 5120 5170 5180 6170 

PB 

6180 11030 11030 11040 

R 

lOOlO 10020 



10030 10040 10040 10040 10050 10060 
18010 18030 19010 19020 

PROGRAM LISTING: MICROSOFT BASIC 



'MX' IS MAXIMUM OF VALUES DISPLAY 



lOO REM CHECK-OUT COUNTER BY GARY ORWIG 

500 REM RESEED RND 

510 RANDOMIZE 

lOOO REM INITIALIZATION - 

ED. 

lOlO MX = lO 

1020 REM USE FULL SCREEN 

1030 POKE 82,0 

1040 CLS 

REM INTRODUCTION 

L = 24 

GOSUB 18000 

FOR J = 1 TO 10 

PRINT ■■ 

L = 12 

GOSUB 18000 

D = 250 

GOSUB 19000 

NEXT J 

PRINT "THIS PROGRAM ROUGHLY SIMULATES SOME OF" 
"THE THINGS YOU WOULD DO AT A DEPARTMENT' 
"STORE CHECK OUT COUNTER." 



2000 
2010 
2020 
2030 
2040 
2050 
2060 
2070 
2080 
2090 
2100 
2110 
2120 
2130 
2140 
2150 
2160 
2170 
2180 
2190 
2200 
2210 
2220 
2230 
2240 
2250 
2260 
2270 
2280 
2290 
2300 
23 lO 
3000 
3010 
3020 
3030 
3040 
3050 
3060 
3070 
3080 



CHECK - OUT COUNTER' 



PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
INPUT 



"YOU WILL SEE A BUNCH OF PRICES, AND" 
"TYPE THEM ONE AT A TIME INTO THE " 
"COMPUTER. YOU MUST TYPE THEM IN" 
"ACCURATELY, OR YOU WILL HAVE ANGRY" 
"CUSTOMERS AFTER YOU!" 

"AFTER TYPING IN ALL THE PRICES, YOU" 
"WILL RING UP A TOTAL, BE GIVEN CASH," 
"AND MAKE THE CORRECT CHANGE. " 
"ONCE AGAIN, YOU MUST BE ACCURATE!" 

"AS YOU PROCEED, THE PRICES WILL MOVE" 
"FASTER AND FASTER. THE FASTER YOU CAN" 
"GO WITHOUT MISTAKES, THE HIGHER YOUR" 
"PAY WILL BE!" 



RETURN' TO CONTINUE. 



"PUSH 

SA$ 

REM EXAMPLE 
GOSUB 18000 
PRINT "YOU WILL SEE 
GOSUB 18000 
D = 1000 
GOSUB 19000 
GOSUB 18000 
GOSUB lOOOO 
PRINT " 



A PRICE, LIKE THIS: 



";r* 



289 



3090 

3100 

3110 

3120 

3130 

3140 

3150 

3160 

3170 

3180 

3190 

3200 

3210 

3220 

3230 

3240 

3250 

3260 

4000 

4010 

4020 

4030 

4040 

4050 

4060 

4070 

4080 

4090 

4100 

4110 

4120 

4130 

4140 

4150 

4160 

4170 

4180 

4190 

4200 

4210 

4220 

4230 

4240 

4250 

4260 

4270 

4280 

4290 

4300 

4310 

4320 

4330 

4340 

4350 

4360 

4370 



60SUB 18000 

D = 200 

GOSUB 19000 

L = 24 

GOSUB 18000 

PRINT "AS SOON AS THE PRICE DISAPPEARS, TYPE* 

PRINT "IT IN AND PUSH 'RETURN'." 

INPUT SA« 

IF SA* = R* THEN PRINT "VERY GOOD!" 

D = lOOO 

GOSUB 19000 

GOSUB 18000 

PRINT " 

L = 12 

GOSUB 18000 

GOSUB 19000 

D = 300 

MX = 10 

REM MAIN PROGRAM 

IF D < 50 THEN 20000 

GOSUB lOOOO 

L = 12 

GOSUB 18000 



HERE WE GO! 



";r* 



PRINT " 

GOSUB 18000 

GOSUB 19000 

GOSUB 18000 

INPUT SA 

GOSUB 11000 

GOTO 4000 

PRINT "PUSH 'RETURN' TO GET" 

PR I NT " THE TOTAL . " 

INPUT SA* 

PRINT "YOUR TOTAL IS ";SS 

REM CALCULATE PAYMENT 

PA = PA + 10 

IF PA > SS THEN 4200 

GOTO 4170 

PRINT 

PRINT 

PRINT "THE CUSTOMER PAYS YOU WITH 

PRINT "DOLLARS." 

PRINT 

CC = PA - SS 

CC = INT <CC * 100 + .5) / lOO 

PRINT "THE REQUIRED CHANGE IS 

PRINT "DOLLARS. " 

PRINT 

PRINT 

PRINT "CHANGE BACK: " 

PRINT 

PRINT "HOW MANY 'FIVES'?" 

INPUT SA 

SC = SA * 5 + SC 

PRINT "HOW MANY 'ONES'?" 

INPUT SA 



';PA 



;cc 



290 



4380 

4390 

4400 

4410 

4420 

4430 

4440 

4450 

4460 

4470 

4480 

4490 

4500 

4510 

4520 

4530 

4540 

4550 

45<bO 

4570 

4580 

4590 

4600 

4610 

4620 

4630 

4640 

4650 

4660 

4670 

4680 

4690 

4700 

4710 

4720 

5000 

5010 

5020 

5030 

5040 

5050 

5060 

5070 

5080 

5090 

5100 

5110 

5120 

5130 

5140 

5150 

5160 

5170 

5180 

5190 

5200 



SC = SA + SC 

PRINT "HOW MANY 'QUARTERS'?" 

INPUT SA 

SC = SA » .25 + SC 

PRINT "HOW MANY 'DIMES'?" 

INPUT SA 

SC = SA » . 10 + SC 

PRINT "HOW MAY 'NICKLES'?" 

INPUT SA 

SC = SA ♦ .05 + SC 

PRINT "HOW MANY 'PENNIES'?" 

INPUT SA 

SC = SA » .01 + SC 

PRINT 

PRINT "YOU GAVE THE CUSTOMER " ; SC 

PRINT "DOLLARS CHANGE. " 

CC = INT <CC ♦ 100 + .5) / 100 

SC = INT (SC « 100 + .5) / 100 

IF CC = SC THEN 4710 

PRINT "THE CASH REGISTER SHOWS THAT YOU SHOULD' 

PRINT "HAVE PAID BACK ";CC;" DOLLARS!" 

IF CC > SC THEN 4650 

PRINT "CUSTOMER GOES AWAY HAPPY ! ! " 

PRINT "BUT YOUR PAY WILL BE DOCKED!" 

D = D + 50 

PRINT 

GOTO 5000 

PRINT "ANGRY CUSTOMER WANTS MANAGER!!" 

PRINT 

PRINT "MANAGER SMOOTHS THINGS OUT, BUT HE" 

PRINT "IS SURE MAD AT YOU!" 

D = D + 50 

GOTO 5000 

PRINT "GOOD GOING!" 

D = D - 50 

REM SPOT CHECK TOTAL 

PRINT " A SPOT CHECK OF THE PURCHASES" 

PRINT "SHOWS THE CORRECT TOTAL IS: ";CT 

PRINT "DOLLARS. " 

"YOUR TOTAL WAS: " ; SS 

"DOLLARS. " 

INT (CT * 100 

INT (SS * 100 



.5) 
.5) 



/ 
/ 



lOO 
100 



PRINT 

PRINT 

CT = 

SS = 

IF CT = SS THEN 5220 

IF CT > SS THEN 5160 

PRINT "YOU OVER CHARGED THE CUSTOMER " 

DF = INT ((SS - CT) * 100 + .5) / 100 

PRINT DF;" DOLLARS" 

PRINT "BECAUSE YOU KEYED IN THE PRICES WRONG!" 

D = D + 50 

GOTO 6000 

PRINT "THE STORE LOST" 

DF = INT ((CT - SS) * 100 + .5) / 100 

PRINT DF;" DOLLARS BECAUSE" 

PRINT "YOU KEYED IN THE PRICES WRONG!" 

D = D + 50 



291 



5210 GOTO 6000 

5220 PRINT "GOOD GOING!" 

5230 D = D - 50 

6000 REM GO AGAIN? 

6010 PA = INT (600 - D) / 100 

A020 PRINT 



6030 PRINT 
6040 PRINT 
6050 PRINT 
6060 PRINT 
6070 PRINT 



"YOUR PRESENT PAY IS " ; PA 
"DOLLARS PER HOUR. " 

"WOULD YOU LIKE TO GO AGAIN?" 
"(YES OR NO)" 



6080 


INPUT SA* 




6090 


IF SA« = "NO" 


THEN 20060 


6100 


REM RESET 




6110 


PA = O 




6120 


CT = O 




6130 


SS = 




6140 


SA = 




6150 


CC = 




6160 


SC = O 




6170 


DF = O 




6180 


PB = O 




6190 


PRINT 




6200 


PRINT "PRESS 


'RETURN' TO START!" 



62 lO INPUT SA* 

6220 GOTO 4000 

lOOOO REM RANDOMIZATION 

lOOlO R = RND(MX*100) 

10020 R=R/100 

10030 R* = STR* (R> 

10040 RETURN 

llOOO REM JUDGE ANSWER 

(R*) 



+ VAL 

+ SA 

+ 1 

11 THEN 4120 



IIOIO CT = CT 

11020 SS = SS 

11030 PB = PB 

11040 IF PB = 

11050 RETURN 

18000 REM SCROLLING 

18010 FOR I = 1 TO L 

18020 PRINT 

18030 NEXT I 

18040 RETURN 

19000 REM DELAY 

19010 FOR I = 1 TO D 

19020 NEXT I 

19030 RETURN 

20000 REM CLOSE 

20010 PRINT "YOU ARE A 

20020 PRINT "COUNTER! 

20030 PRINT "BENIFITS!" 

20040 PRINT 

20050 PRINT "BYE!" 

20060 END 



SUPER WHIZ AT THE CHECKOUT' 
YOU MAY RETIRE WITH FULL" 



292 



TABLE OF VARIABLES 

CC - REQUIRED CHANGE 

4250 4260 4260 4270 4540 4540 

4560 4580 4590 6150 

CT - CORRECT TOTAL 

5020 5060 5060 5080 5090 5110 

5170 6120 11010 IIOIO 

D - DELAY 

2070 3040 3100 3180 32SO 4010 
4620 4620 4690 4690 4720 4720 
5140 5140 5200 5200 5230 5230 
6010 19010 

DF - DEFICIT FROM WRONG KEY IN 
5110 5120 5170 5180 6170 

I - COUNTER 

10030 10040 10040 10050 10060 

18010 18030 19010 19020 

J - COUNTER 
2030 2090 

L - LINES OF SCROLLING 

2010 2050 3120 3220 4030 18010 

MX - MAXIMUM VALUES DISPLAYED 
lOlO 3260 lOOlO 

PA - CUSTOMER PAYS THIS AMOUNT 
4170 4170 4180 4220 4250 6010 
6030 61 lO 

PB - NO. OF PRICES DISPLAYED 
6180 11030 11030 11040 

R - RANDOM NUMBER 
lOOlO 10020 

R« - RANDOM NUMBER AS STRING (NEEDED FOR TRAILING ZEROS) 
3080 3170 4050 10020 10030 
10040 10050 10060 10060 11010 

SA - STUDENT ANSWER 
4090 4340 4350 4370 4380 4400 
44 lO 4430 4440 4460 4470 4490 
4500 6140 11020 

SA« - STUDENT ANSWER 

2310 3160 3170 4140 6080 6090 



293 



6210 

SC - CHANGE RETURNED BY STUDENT 
4350 4350 4380 4380 4410 4410 
4440 4440 4470 4470 4500 4500 
4520 4550 4550 4560 4590 6160 

SS 

4150 4 ISO 4250 5040 5070 5070 

5080 5090 51 lO 5170 6130 11020 

11020 

END OF VAR. LIST 



SAMPLE RUN 

THIS PROGRAM ROUGHLY SIMULATES SOME OF 
THE THINGS YOU WOULD DO AT A DEPARTMENT 
STORE CHECK OUT COUNTER. 

YOU WILL SEE A BUNCH OF PRICES, AND 
TYPE THEM ONE AT A TIME INTO THE 
COMPUTER. YOU MUST TYPE THEM IN 
ACCURATELY, OR YOU WILL HAVE ANGRY 
CUSTOMERS AFTER YOU! 

AFTER TYPING IN ALL THE PRICES, YOU 
WILL RING UP A TOTAL, BE GIVEN CASH, 
AND MAKE THE CORRECT CHANGE. 
ONCE AGAIN, YOU MUST BE ACCURATE! 

AS YOU PROCEED, THE PRICES WILL MOVE 
FASTER AND FASTER. THE FASTER YOU CAN 
GO WITHOUT MISTAKES, THE HIGHER YOUR 
PAY WILL BE! 

PUSH 'RETURN' TO START. 

YOU WILL SEE A PRICE, LIKE THIS: 



2.65 



AS SOON AS THE PRICE DISAPPEARS, TYPE 
IT IN AND PUSH 'RETURN. 
?2.65 
VERY GOOD! 

HERE WE GO! 



4.20 
294 



74.20 



?5.29 



74.41 



77.97 



75.41 



7.39 



72.64 



74.48 



77.24 



71.34 



5.29 



4.14 



7.97 



5.41 



.39 



2.64 



4.48 



7.24 



1.34 



,57 



7.57 

PUSH 'RETURN' TO GET 

THE TOTAL. 

? 

YOUR TOTAL IS 43.94 



295 



THE CUSTOMER PAYS YOU WITH 50 
DOLLARS. 

THE REQUIRED CHANGE IS 6.06 
DOLLARS. 



CHANGE BACK: 

HOW MANY 'FIVES'? 

?1 

HOW MANY 'ONES'? 

?1 

HOW MANY 'QUARTERS'? 

?0 

HOW MANY 'DIMES'? 

?0 

HOW MAY 'NICKLES'? 

?1 

HOW MANY 'PENNIES'? 

?1 

YOU GAVE THE CUSTOMER 6.06 
DOLLARS CHANGE. 
GOOD GOING! 

A SPOT CHECK OF THE PURCHASES 
SHOWS THE CORRECT TOTAL IS: 43.67 
DOLLARS. 

YOUR TOTAL WAS: 43.94 
DOLLARS. 

YOU OVER CHARGED THE CUSTOMER 
.27 DOLLARS 
BECAUSE YOU KEYED IN THE PRICES WRONG! 

YOUR PRESENT PAY IS 3 
DOLLARS PER HOUR. 

WOULD YOU LIKE TO GO AGAIN? 
(YES OR NO) 
?NO 



296 




stock Market 



PROGRAM DESCRIPTION 

This program is a simulation of some of the events that take 
place during the buying and selling of stock in companies on a 
stock exchange. The program enables you to place orders with the 
computer just as you would by phoning a stockbroker from your 
own home. You may choose to buy and sell stock from a limited 
portfolio of stocks based upon newspaper headlines relevant to 
those companies that own the shares of stock. 

You start with $10,000 and your main objective is to increase 
that value as much as possible in six buying and selling sessions. 
Do watch the newspaper headlines carefully. They are your only 
hints to guide you toward success or failure in the market. The 
computer may create more havoc because the newspaper headlines 
are not always true statements. You have to read "between the 
lines." A computer printer would prove very valuable in this 
simulation program by making it easier to refer to your past stock 
transactions. 

PROGRAM NOTES 

This is a very simple introduction to the stock market. 
Consider adding complicating factors (dividends, mergers, etc.) as 
your group can handle them. Although it rarely is this simple, 
additional subroutines might fit right into the "gosubs" in the 
main program (starting on line 4000). 



297 



PROGRAM LISTING: BASIC 

100 REM STOCK MARKET BY GARY ORWIG 

SOO REM PLACE MESSAGE ON SCREEN 

510 PRINT 

520 PRINT "ONE MOMENT, PLEASE!" 

530 PRINT "I AM READING DATA." 

1000 REM INITIALIZE 

1010 DIM G«<700),GF(7),N*(700),N1(7),N2<7),N3<7),N4(7),N5(7) 

, N6 (7) , S» (700) , SY (7) , SN (7) , OD (7) , SM* (700) 

1020 DIM C<6),S(6),N(6) 

1030 DIM GI«(100),NI«(100} ,SI«<100),SMI«(100>,SAS(5),SMN«(10 

O) 

1040 FOR 1=1 TO 10 

1050 6* (1*70-69,1*70)=" 

1060 NEXT I 

1 070 N«=6« : S«=G« : SM«=6« 

lOSO FOR 1=1 TO 2 

1090 GI* (1*50-49,1*50)=" 

■I 

llOO NEXT I 

mo Ni«=Gi«: si«=6i«: smi«=gi«: smn«=6I« 

1120 LN=1 

1130 FOR 1=1 TO 7 

1140 READ GIS,GF 

1150 G«(LN)=GI«:GF(I)=GF 

1160 LN=LN+100 

1170 NEXT I 

1180 LN=1 

1190 FOR 1=1 TO 7 

1200 READ NI«,N1,N2,N3,N4,N5,N6 

1210 N* (LN) =NI*: Nl ( I ) =N1 : N2 ( I ) =N2: N3 ( I ) =N3: N4 ( I ) =N4: N5 ( I ) =N5 

: N6 ( I ) =N6 

1220 LN=LN+100 

1230 NEXT I 

1240 LN=1 

1250 FOR 1=1 TO 7 

1260 READ SI«,SY,SN,OD,SMIS 

1270 S* (LN) =SI*: SY ( I ) =SY: SN ( I ) =SN: OD ( I ) =OD: SM« (LN) =SMI« 

1280 LN=LN+100 

1290 NEXT I 

1300 CA=10000:REM CASH TO START WITH 

1310 C(1)=20:REM THESE 6 VALUES ARE STARTING PRICES OF STOCK 

m 

1320 C(2)=30 

1330 C(3)=70 

1340 C(4)=40 

1350 C(5)=50 

1360 C(6)=40 

1370 FOR 1=1 TO 6 

1380 S(I)=0 

1390 NEXT I 

1400 REM USE FULL SCREEN 

1410 POKE 82,0 

1420 PRINT 



298 



2000 

2010 

2020 

2030 

2040 

2050 

2060 

2070 

2080 

2090 

2100 

21 lO 

2120 

2130 

2140 

2150 

2160 

2170 

2180 

2190 

2200 

2210 

2220 

2230 

2240 

2250 

22AO 

2270 

2280 

2290 

2300 

2310 

2320 

2330 

2340 

2350 

2360 

2370 

2380 

2390 

2400 

2410 

2420 

2430 

2440 

2450 

2460 

2470 

2480 

2490 

2500 

2510 

2520 

2530 

2540 

2550 



TO 200 
"THIS IS A SinULATICHM OF SOME OF THE" 
"EVENTS WHICH TAKE PLACE IN THE" 
"BUYING AND SELLING OF STOCK." 

"YOU GET TO BUY AND SELL FROM A LIMITED" 
"PORTFOLIO OF STOCKS BASED UPON NEMS" 
"HEADLINES RELEVANT TO THOSE COMPANIES." 

"YOU START WITH lOOOO DOLLARS, AND YOUR" 
"SOLE MISSION IS TO INCREASE THAT VALUE" 
"AS MUCH AS POSSIBLE IN 6 BUYING/SELLING" 
"SESSIONS. " 

"DO WATCH THE HEADLINES CAREFULLY." 
"THEY ARE YOUR ONLY HINTS FOR SUCCESS." 
"BE CAREFUL, THOUGH BECAUSE NOT ALL" 
"HEADLINES ALWAYS TURN OUT TO BE TRUE!" 



REM INTRODUCTION 

FOR 1=1 TO 50 

PRINT "STOCK MARKET 

NEXT I 

PRINT 

PRINT 

PRINT 

FOR 1=1 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

INPUT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

INPUT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 



"5 



"PRESS 
SA« 



RETURN' TO CONTINUE. 



"HERE ARE THE COMPANIES:" 

"MIDNIGHT OIL COMPANY" 

"A COMPANY KNOWN FOR TAKING BIG RISKS." 

"SOMETIMES THEY WIN, BUT OFTEN THEY LOSE!" 

"SOLAR SEEKERS, INC." 

"A NEW COMPANY JUST GETTING ESTABLISHED." 
"APPEAR TO EMPLOY A NUMBER OF HIGH" 
"TECHNOLOGY EXPERTS." 

"MCDANIEL AIRCRAFT" 

"A WELL ESTABLISHED MILITARY/ INDUSTRIAL" 

"ORIENTED AERONAUTICS COMPANY." 



"PRESS 
SA« 



'RETURN' TO CONTINUE. 



HAPPY DAYS SOUTHERN MOTELS" 

A LARGE CHAIN OF SOUTH UNITED STATES' 



299 



2560 

2570 

2580 

2590 

2600 

2610 

2620 

2630 

2640 

2650 

2660 

2670 

2680 

2690 

2700 

2710 

2720 

2730 

2740 

2750 

2760 

2770 

4000 

4010 

4020 

4030 

4040 

4050 

4060 

4070 

4080 

4090 

4100 

5000 

5010 

5020 

5030 

5040 

5050 

5060 

5070 

5080 

5090 

5100 

5110 

5120 

5130 

5140 

5150 

5160 

5170 

5180 

5190 

5200 

5210 

5220 



"MOTELS. LARGELY DEPENDENT UPON TOURISM. 
"COMMUNITY PHONE COMPANY" 

"A TYPICAL UTILITY CONSERVATIVE AND" 

"FAIRLY IMMUNE TO WORLD PROBLEMS." 



"FRIENDLY ELECTRIC COMPANY" 
"A VERY PROGRESSIVE UTILITY, 
"NUCLEAR POWER, WITH QUITE A 
" COMMON I T Y OPPOS I T I ON . " 



"PRESS 'RETURN' TO CONTINUE. 



"HERE WE GO! 



TO ISO 



PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

INPUT SA* 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

FOR 1=1 

NEXT I 

REM MAIN PROGRAM 

DA=DA+1 

IF DA=7 THEN 20000 
60SUB 5000 
GOSUB 6000 
60SUB 8000 
GOSUB 7000 

IF SF=SN THEN PRINT SM*<C*100-99, C»100) 

FOR 1=1 TO 150 

NEXT I 

GOTO 4000 

REM PRINT HEADLINES 

GOSUB lOOOO 

IF G*(R»100-99,R*100-99)="*" THEN 5010 

PRINT 6»(R»100-99,R*100) 

G«(R*100-99,R»100)="*" 

GF=GF(R) 

GOSUB lOOOO 

IF N»(R»100-99,R*100-99)="»" THEN 5060 

PRINT N«(R»100-99,R*100) 

N» (R*100-99, R»100) ="*" 

N(1)=N1(R) 

N(2)=N2(R) 

N(3)=N3(R> 

N(4)=N4(R) 

N(5)=N5(R) 

N(6}=N6(R) 

GOSUB lOOOO 

IF S*(R*100-99,R*100-99)="»" THEN 5160 

PRINT S*(R*100-99,R»100) 

S*(R»100-99,R*100)="*" 

SY=SY(R) 

SN=SN(R) 

OD=OD(R) 



HEAVY INTO" 
BIT OF" 



300 



5230 
5240 
5250 
6000 
6010 
6020 
6030 
6040 
6050 
6060 
6070 
6080 
6090 
6100 
6110 
6120 
6130 
6140 
6150 
6160 
6170 
7000 
7010 
7020 
7030 
7040 
7050 
7060 
7070 

7oao 

7090 
7100 
8000 
8010 
8020 
8030 
8040 
8050 
8060 
8070 
8080 
8090 
8100 
8110 
8120 
8130 
8140 
8150 
8160 
8170 
8180 
8190 
8200 
8210 
8220 
8230 



MID. OIL 

SOL SEE 

MC AIR 

HAP MO 

COM PHO 

FRI ELEC 
"CASH ON HAND: ";CA 
"VALUE OF STOCK: " ; VA 
"TOTAL WORTH: " ; CA+VA 



SMN«=SM» ( R* 1 00-99 , R» 1 OO ) 

C=R 

RETURN 

REM MENU 

VA=0 

FOR 1=1 TO 6 

VA=VA+S ( I ) «C (I ) 

NEXT I 

GOSUB 16000 

PRINT "COMPANY SHARES VALUE' 

PRINT 

PRINT "1. MID. OIL "," ";S(1),C(1) 

PRINT "2. SOL SEE "," ";S(2),C(2) 

PRINT "3. MC AIR "," ";S(3),C<3) 

PRINT "4. HAP MO "," "iS<4),C(4) 

PRINT "5. COM PHO "," ";S<5),C(5) 

PRINT "6. FRI ELEC "," ";S(6),C(6) 

PRINT 

PRINT 

PRINT 

RETURN 

REM CALCULATE STOCK VALUE 

FOR 1=1 TO 6 

C ( I ) =C ( I ) *GF»N ( I ) 

NEXT I 

GOSUB 10500 

IF R>OD THEN GOTO 7080 

SF=SY 

GOTO 7090 

SF=SN 

C(C)=C(C)*SF 

RETURN 

REM PURCHASE, SELL 

PRINT "DO YOU WISH TO: " 

PRINT " 1. PURCHASE 2. SELL 

PRINT "ENTER 1, 2, OR 3" 

INPUT Z 

IF Z<1 OR Z>3 THEN 8030 

IF Z=2 THEN 8190 

IF Z=3 THEN RETURN 

PRINT "BUY WHICH NUMBER?" 

PRINT "ENTER A NUMBER 1 THROUGH 6." 

INPUT Z 

PRINT "HOW MANY SHARES?" 

INPUT Z2 

IF C(Z)*Z2>CA THEN GOTO 8170 

S(Z)=S(Z)+Z2 

CA=CA-<C<Z)*Z2) 

GOTO 4040 

PRINT "YOU DON'T HAVE ENOUGH MONEY! 

GOTO 8000 

PRINT "SELL WHICH NUMBER?" 

PRINT "ENTER A NUMBER 1 THROUGH 6" 

INPUT Z 

IF Z<1 OR Z>6 THEN 8200 

PRINT "HOW MANY SHARES?" 



3. NEITHER" 



301 



8240 INPUT Z2 

8250 IF Z2>S(Z) THEN 8290 

8260 S(Z)=S(Z)-Z2 

8270 CA=CA+Z2*C(Z) 

8280 60T0 4040 

8290 PRINT "YOU DON'T HAVE THAT MANY SHARES!" 

8300 GOTO 8000 

10000 REM RANDOMIZATION 

lOOlO R=INT(RND<0)»6)+1 

10020 RETURN 

10500 R=INT(RND(0)*4)+1 

10510 RETURN 

16000 REM ROUNDING 

16010 FOR 1=1 TO 6 

16020 S(I)=INT(S(I)*100>/100 

16030 C(I)=INT<C(I)»100)/100 

16040 NEXT I 

16050 CA=INT<CA*100)/100 

16060 VA=INT (VA*100) /lOO 

16070 RETURN 

20000 REM CLOSING 

20010 60SUB 6000 

"YOU HAVE COMPLETED THE SIX CYCLES!" 

"YOU STARTED WITH 10000 DOLLARS." 

"YOU NOW HAVE ";CA;" DOLLARS CASH." 

"AND ";VA;" dollars worth of STOCK." 

"THIS IS A TOTAL VALUE OF "JCA+VA;" DOLLARS. 



"BYE FOR NOW!" 



20020 PRINT 
20030 PRINT 
20040 PRINT 
20050 PRINT 
20060 PRINT 
20070 END 
20080 PRINT 
20090 END 
21000 REM DATA 

21010 DATA DOLLAR LOSES VALUE OVERSEAS !,. 90 
21020 DATA DOLLAR GAINS VALUE O VERSE AS !, 1 . 1 O 

21030 DATA WORSENING RELATIONS WITH COMMUNIST COUNTRIES 
!,.85 

21040 DATA KEY CABINET MEMBER CAUGHT TAKING BRIBES,. 95 
21050 DATA INFLATION TAPERING OFF., 1.10 
21060 DATA SERIOUS RECESSIONS LOOMS !,.80 
21070 DATA EOD,0 

21080 DATA STEEL STRIKE! , .85, . 95, . 80, 1 . O, 1 . O, 1 .O 
21090 DATA SERIOUS GASOLINE SHORTAGE. PRICES 
,95, .75,1.0,1.0 

1, 



SKYROCKET 



!, 1.4,1. 2, 

21100 DATA WAR IN MID EAST! , 1. 2, 1 .O, 1. 4, 1 . O, 1 .0, 1.0 
21110 DATA SAFE DISPOS^^ OF ATOMIC WASTE FOUND! ,. 80, . 90, 1 . O, 
1.0,1.0,1.2 

21120 DATA HUGE NEW COAL FIELD FOUND IN U.S. ! , . 75, .80, 1 . 1 , 1. 
0,1.0,1.1 

21130 DATA RECORD COLD WINTER HITS! , 1 . 2, 1 . 2, 1 . O, 1 .7, 1 . O, 1 .0 
21140 DATA EOD, 0,0,0,0,0,0 

21150 DATA RUMOR OF NEW OIL FIELD DISCOVERY BY MIDNIGHT 
OIL!, 2. 5, .1,1 

21160 DATA OIL FIELD A BUST - MIDNIGHT OIL DOWN 
S! 

21170 DATA NEW INEXPENSIVE ELECTRIC CELL FOUND 
SEEKERS ! , 2. O, . 75, 3 
21180 DATA SOLAR CELL NOT YET PERFECTED - IT MELTS 



THE TUBE 



BY SOLAR 



302 



21190 DATA MCOANIEL AIRCRAFT SELLS 100 JETS TO MIDEAST., 

1.5, .75,3 

21200 DATA GOVERNMENT ACCUSSES MCDANIEL AIRCRAFT OF WAR - 

MONGER ING! 

21210 DATA HAPPY DAYS SOUTHERN MOTELS ANNOUNCES GRAND OPE 

NING OF NEW LUXURY RETREAT AT KEY WEST. ,2.0, .2,3 

21220 DATA HURRICANE HITS KEY WEST - NEW RESORT DESTROYE 

D! 

21230 DATA PHONE RATES FROZEN BY CONSUMERS' GROUP, .8, 1. 0,2 

21240 DATA COURT OVER - RULES PHONE RATE FREEZE. 

21250 DATA FRIENDLY ELECTRIC COMPANY LOSES MAIN ATOMIC RE 

ACTOR!,. 75, 1.0,2 

21260 DATA REACTOR DAMAGE MINOR - BACK IN OPERATION 

21270 DATA EOD,0,0,0, EOD 

TABLE OF VARIABLES 

G* 

1010 1050 1070 1070 1070 1150 
5020 5030 5040 

GF< 

1010 1150 5050 

N« 

1010 1070 1210 5070 5080 5090 



Nl( 

lOlO 1210 5100 

N2( 

lOlO 1210 5110 

N3( 

lOlO 1210 5120 

N4( 

lOlO 1210 5130 

N5< 

1010 1210 5140 

N6( 

lOlO 1210 5150 

S« 

1010 1070 1270 5170 5180 5190 



SY( 

1010 1270 5200 

SN( 

lOlO 1270 5210 



303 



lOlO 1270 5220 

sn« 

lOlO 1070 1270 4070 5230 



C( 



1020 


1310 


1320 


1330 


1340 


1350 


1360 


6030 


6080 


6090 


6100 


6110 


6120 


6130 


7020 


7020 


7090 


7090 


8130 


81SO 


8270 


16030 


16030 




S< 

1020 


1380 


6030 


6080 


6090 


6100 


6110 


6120 


6130 


8140 


8140 


8250 


8260 


8260 


16020 


16020 






N( 

1020 


5100 


5110 


5120 


5130 


5140 


5150 


7020 










GI« 












1030 


1090 


1110 


1110 


1110 


1110 


1140 


1150 











NI« 

1030 1110 1200 1210 

1030 mo 1260 1270 

srii« 

1030 mo 1260 1270 



SA« 












1030 


2290 


2500 


2680 






SUN* 












1030 


mo 


5230 








I 

1040 


1050 


1050 


1060 


1080 


1090 


1090 


llOO 


1130 


1150 


1170 


1190 


1210 


1210 


1210 


1210 


1210 


1210 


1230 


1250 


1270 


1270 


1270 


1290 


1370 


1380 


1390 


2010 


2030 


2070 


2760 


2770 


4080 


4090 


6020 


6030 


6030 


6040 


7010 


7020 


7020 


7020 


7030 


16010 


16020 


16020 


16030 


16030 


16040 












LN 












1120 


1150 


1160 


1160 


1180 


1210 


1220 


1220 


1240 


1270 


1270 


1280 


1280 













304 



GF 

1140 1150 5050 7020 

Nl 

1200 1210 

N2 

1200 1210 

N3 

1200 1210 

N4 

1200 1210 

NS 

1200 1210 

1200 1210 

SY 

1260 1270 5200 7060 

SN 

1260 1270 4070 5210 7080 

OD 

1260 1270 5220 7050 

CA 

1300 6140 6160 8130 8150 8150 
8270 8270 16050 16050 20040 20060 



DA 

4010 4010 4020 

SF 

4070 7060 7080 7090 

C 

4070 4070 5240 7090 7090 

R 

5020 5020 5030 5030 5040 5040 

5050 5070 5070 5080 5080 5090 

5090 5100 5110 5120 5130 5140 

5150 5170 5170 5180 5180 5190 

5190 5200 5210 5220 5230 5230 

5240 7050 lOOlO 10500 

VA 

60 lO 6030 6030 6150 6160 16060 

16060 20050 20060 



305 



Z2 



8040 


8050 


8050 


8060 


8070 


8100 


8130 


8140 


8140 


8150 


8210 


8220 


8220 


8250 


8260 


8260 


8270 




8120 


8130 


8140 


8150 


8240 


8250 


8260 


8270 











PROGRAM LISTING: MICROSOFT BASIC 

100 REM STOCK MARKET BY GARY 0RWI6 

SOO REM RESEED RND 

510 RANDOMIZE 

1000 REM INITIALIZE 

1010 REM DEFINE A FUNCTION TO ROUND NO.S TO 2 PLACES. 

1020 DEF RD<X) = INT(X*100+.5)».01 

1030 DIM 6«(6),GF(6>,N«(6),N1(6),N2(6),N3(6>,N4(6>,N5(6>,N6( 

6) , S« (6) , SY (6) , SN (6) , OD (6) , SM« (6) 

1040 DIM C(6),S(6),N(6) 

1050 FOR 1=1 TO 6 

1060 READ G«(I),eF(I) 

1070 NEXT I 

1080 FOR 1=1 TO 6 

1090 READ N«(I>,N1(I),N2(I},N3(I),N4(I),N5(I),N6(I) 

llOO NEXT I 

mo FOR 1=1 TO 6 

1120 READ S«(I>,SY(I),SN(I),OD(I),SM«<I) 

1130 NEXT I 

1140 CA=10000:REM cash to START WITH 

1150 C(1)=20:REM these 6 VALUES ARE STARTING PRICES OF STOCK 



1160 C(2)=30 

1170 C(3>=70 

1180 C(4)=40 

1190 C(5)=50 

1200 C(6)=40 

1210 REM USE FULL SCREEN 

1220 POKE 82, O 

1230 CLS 

2000 REM INTRODUCTION 

2010 FOR 1=1 TO 50 

2020 PRINT "STOCK MARKET 

2030 NEXT I 

2040 PRINT 

2050 PRINT 

2060 PRINT 

2070 FOR 1=1 

2080 NEXT I 

2090 PRINT " 

2100 PRINT 

21 lO PRINT 

2120 PRINT 

2130 PRINT 

2140 PRINT 



TO lOOO 

"THIS IS A SIMULATION OF SOME OF THE" 
"EVENTS WHICH TAKE PLACE IN THE" 
"BUYING AND SELLING OF STOCK. " 

"YOU GET TO BUY AND SELL FROM A LIMITED" 
"PORTFOLIO OF STOCKS BASED UPON NEWS" 



306 



2150 

2160 

2170 

2180 

2190 

2200 

2210 

2220 

2230 

2240 

2250 

2260 

2270 

2280 

2290 

2300 

2310 

2320 

2330 

2340 

2350 

2360 

2370 

2380 

2390 

2400 

2410 

2420 

2430 

2440 

2450 

2460 

2470 

2480 

2490 

2500 

2510 

2520 

2530 

2540 

2550 

2560 

2570 

2580 

2590 

2600 

2610 

2620 

2630 

2640 

2650 

2660 

2670 

2680 

2690 

2700 



PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

INPUT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

INPUT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

INPUT 

PRINT 



"HEADLINES RELEVANT TO THOSE COMPANIES." 

"YOU START WITH lOOOO DOLLARS, AND YOUR" 
"SOLE MISSION IS TO INCREASE THAT VALUE" 
"AS MUCH AS POSSIBLE IN 6 BUY 1 1«3/ SELLING* 
"SESSIONS. " 

"DO WATCH THE HEADLINES CAREFULLY." 
"THEY ARE YOUR ONLY HINTS FOR SUCCESS." 
"BE CAREFUL, THOUGH BECAUSE NOT ALL" 
"HEADLINES ALWAYS TURN OUT TO BE TRUE!" 



"PRESS 'RETURN' TO CONTINUE. 
SA« 



"HERE ARE THE COMPANIES:" 

"MIDNIGHT OIL COMPANY" 

"A COMPANY KNOWN FOR TAKING BIG RISKS." 

"SOMETIMES THEY WIN, BUT OFTEN THEY LOSE!" 

"SOLAR SEEKERS, INC." 

"A NEW COMPANY JUST GETTING ESTABLISHED." 
"APPEAR TO EMPLOY A NUMBER OF HIGH" 
"TECHNOLOGY EXPERTS." 

"MCDANIEL AIRCRAFT" 

"A WELL ESTABLISHED MILITARY/ INDUSTRIAL" 

"ORIENTED AERONAUTICS COMPANY." 



"PRESS 'RETURN' TO CONTINUE. 
SA« 



"HAPPY DAYS SOUTHERN MOTELS" 
"A LARGE CHAIN OF SOUTH UNITED STATES" 
"MOTELS. LARGELY DEPENDENT UPON TOURISM. " 
"COMMUNITY PHONE COMPANY" 

"A TYPICAL UTILITY CONSERVATIVE AND" 

"FAIRLY IMMUNE TO WORLD PROBLEMS." 

"FRIENDLY ELECTRIC COMPANY" 
"A VERY PROGRESSIVE UTILITY, HEAVY INTO" 
"NUCLEAR POWER, WITH QUITE A BIT OF" 
" COMMUN I T Y OPPOS I T I ON . " 



"PRESS 
SA$ 



RETURN' TO CONTINUE." 



307 



2710 PRINT 




2720 PRINT 




2730 PRINT "HERE WE BO!" 




2740 PRINT 




2750 PRINT 




2760 PRINT 




2770 FOR 1=1 TO 1500 




2780 NEXT I 




4000 REM MAIN PROGRAM 




4010 DA=DA+1 




4020 IF DA=7 THEN 20000 




4030 GOSUB 5000 




4040 GOSUB 6000 




40S0 GOSUB eooo 




4060 GOSUB 7000 




4070 IF SF=SN THEN PRINT SM«(C} 




4080 GOTO 4000 




5000 REM PRINT HEADLINES 




5010 GOSUB 10000 




5020 IF G*(R)="*" THEN 5010 




5030 PRINT G«(R) 




5O40 G*(R)="»" 




5050 GF=GF<R) 




5060 GOSUB 10000 




5070 IF N*<R)="»" THEN 5060 




5080 PRINT N«<R) 




5090 N%IR)-"*" 




5100 N(1)=N1<R) 




51 lO N(2)=N2(R) 




5120 N<3)=N3<R) 




5130 N(4)=N4(R) 




5140 N<5)=N5<R) 




5150 N(6)=N6(R) 




S160 GOSUB 10000 




5170 IF S*(R)="»" THEN 5160 




5iaO PRINT S*<R) 




5190 S*(R)="»" 




5200 SY=SY(R> 




5210 SN=SN(R) 




5220 OD=OD(R) 




5230 SM«=SM»(R) 




5240 C=R 




5250 RETURN 




6000 REM MENU 




6010 VA=0 




6020 FOR 1=1 TO 6 




6030 VA=VA+S ( I ) *C ( I ) 




6040 NEXT I 




6050 GOSUB 16000 




6060 PRINT "COMPANY SHARES 


VALL^" 


6070 PRINT 




6080 PRINT "1. MID. OIL ";" ";S<1);" 


" ; c < 1 > 


6090 PRINT "2. SOL SEE ";" ";S<2);" 


";C(2) 


6100 PRINT "3. MC AIR ";" ";S(3);" 


"SC<3) 


61 lO PRINT "4. HAP MO ";" ";S(4>;" 


";C(4) 


6120 PRINT "5. COM PHO ";" ";S(5);" 


";C<5) 



308 



6130 

6140 

6150 

6160 

6170 

7000 

7010 

7020 

7030 

7040 

7050 

7060 

7070 

7080 

7090 

7100 

8000 

8010 

8020 

8030 

8040 

8050 

8060 

8070 

8080 

8090 

8100 

8110 

8120 

8130 

8140 

8150 

8160 

8170 

8180 

8190 

8200 

8210 

8220 

8230 

8240 

8250 

8260 

8270 

8280 

8290 

8300 

8310 

8320 

lOOOO 

lOOlO 

10020 

10500 

10510 

16000 

16010 



PRINT "6. FRI ELEC " ; " 
PRINT "CASH ON HAND: " ; CA 
PRINT "VALUE OF STOCK: " ; VA 
PRINT "TOTAL WORTH: " ? CA+VA 



";s<6); 



;C(6) 



RETURN 

REM CALCULATE STOCK VALUE 

FOR 1=1 TO 6 

C ( I ) =C < I ) *GF«N < I ) 

NEXT I 

GOSUB 10500 

IF R > OD THEN GOTO 7080 

SF=SY 

GOTO 7090 

SF=SN 

C(C)=C(C)»SF 

RETURN 

REM PURCHASE, SELL 



WISH TO: " 
PURCHASE" 
SELL" 
NEITHER" 
1, 2, OR 3" 



PRINT "DO YOU 

PRINT " 1. 

PRINT " 2. 

PRINT " 3. 

PRINT "ENTER 

INPUT Z 

IF Z<1 OR Z>3 THEN 8050 

IF Z=2 THEN 8210 

IF Z=3 THEN RETURN 

PRINT "BUY WHICH NUMBER?" 

PRINT "ENTER A NUMBER 1 THROUGH 6." 

INPUT Z 

PRINT "HOW MANY SHARES?" 

INPUT Z2 

IF C(Z) * Z2 > CA THEN GOTO 8190 

S(Z)=S(Z>+Z2 

CA=CA-<C(Z)*Z2) 

GOTO 4040 

PRINT "YOU DON'T HAVE ENOUGH MONEY!" 

GOTO 8000 

PRINT "SELL WHICH NUMBER?" 

PRINT "ENTER A NUMBER 1 THROUGH 6" 

INPUT Z 

IF Z<1 OR Z>6 THEN 8220 

PRINT "HOW MANY SHARES?" 

INPUT Z2 

IF Z2>S(Z) THEN 8310 

S(Z)=S(Z)-Z2 

CA=CA+Z2»C(Z) 

GOTO 4040 

PRINT "YOU DON'T HAVE THAT MANY SHARES! 

GOTO 8000 

REM RANDOMIZATION 

R=RND(6) 

RETURN 

R=RND(4) 

RETURN 

REM ROUNDING ROUTINE 

FOR 1=1 TO 6 



309 



= RD(S(I)) 
= RD(C(I)) 
I 



16020 S(I) 

16030 C(I) 

16040 NEXT 

16050 CA = RD(CA) 

16060 VA = RD(VA) 

16070 RETURN 

20000 REM CLOSING 

20010 GOSUB 6000 

20020 PRINT "YOU HAVE COMPLETED THE SIX CYCLES!" 
•YOU STARTED WITH lOOOO DOLLARS. " 
•YOU NOW HAVE ";CA;" DOLLARS CASH." 
•AND ";VA;" DOLLARS WORTH OF STOCK." 

20060 PRINT "THIS IS A TOTAL VALUE OF ";CA+VA;" DOLLARS. 

20070 END 

20080 PRINT "BYE FOR NOW!" 

20090 END 

21000 REM DATA 

21010 DATA "DOLLAR LOSES VALUE OVERSEAS !",. 90 

21020 DATA "DOLLAR GAINS VALUE O VERSEAS ! " , 1 . 1 O 

21030 DATA "WORSENING RELATIONS WITH COMMUNIST 

S ! " , . 85 

21040 DATA 

21050 DATA 



20030 PRINT 
20040 PRINT 
20050 PRINT 



COUNTRIE 



KEY CABINET MEMBER CAUGHT TAKING BRIBES ",.95 
INFLATION TAPERING OFF. ",1.10 
21060 DATA "SERIOUS RECESSIONS LOOMS !",. 80 
21070 DATA "STEEL STRIKE ! " , .85, . 95, . 80, 1 . O, 1 . O, 1 . O 
21080 DATA "SERIOUS GASOLINE SHORTAGE, PRICES SKYROCKE 
T ! " , 1 . 4, 1 . 2, . 95, . 75, 1.0,1.0 

21090 DATA "WAR IN MID EAST! ", 1. 2, 1 . O, 1 .4, 1.0, 1 . O, 1 . 
21100 DATA "SAFE DISPOSAL OF ATOMIC WASTE FOUND ! " , .80, . 90, 1 . 
0,1.0,1.0,1.2 

21110 DATA "HUGE NEW COAL FIELD FOUND IN U. S. ! " , . 75, .80, 1 . 1 , 
1.0,1.0, 1. 1 

21120 DATA "RECORD COLD WINTER HITS ! " , 1 . 2, 1 . 2, 1 . O, 1 . 7, 1 . O, 1 . 
O 
21130 DATA "RUMOR OF NEW OIL FIELD DISCOVERY BY MIDNIGHT 

OIL! ",2.5, .1,1 
21140 DATA "OIL FIELD A BUST, MIDNIGHT OIL DOWN THE TUBE 
S! " 
21150 DATA "NEW, INEXPENSIVE ELECTRIC CELL FOUND BY SOLAR 

SEEKERS ! " , 2. O, . 75, 3 
21160 DATA "SOLAR CELL NOT YET PERFECTED - IT MELTS" 
21170 DATA "MCDANIEL AIRCRAFT SELLS 100 JETS TO MIDEAST. 
••,1.5,-75,3 
21180 DATA "GOVERNMENT ACCUSSES MCDANIEL AIRCRAFT OF WAR - 

MONGERING!" 
21190 DATA "HAPPY DAYS SOUTHERN MOTELS ANNOUNCES GRAND OP 
ENING OF NEW LUXURY RETREAT AT KEY WEST. " , 2. O, . 2, 3 
21200 DATA "HURRICANE HITS KEY WEST, NEW RESORT DESTROYE 
D! " 

21210 DATA "PHONE RATES FROZEN BY CONSUMERS' GROUP" , .8, 1 . O, 2 
21220 DATA 
21230 DATA 



•PHONE RATES FROZEN BY CONSUMERS' GROUP" 
•COURT OVER - RULES PHONE RATE FREEZE. " 
•FRIENDLY ELECTRIC COMPANY LOSES MAIN 
,75, 1.0,2 



ATOMIC R 



EACTOR ! 

21240 DATA "REACTOR DAMAGE MINOR, BACK IN OPERATION' 



310 



TABLE OF VARIABLES 

»RD(*) - ROUNDING FUNCTION 
1020 16020 16030 16050 16060 

C - BUFFER FOR RANDOM NUMBER 
4070 5240 7090 7090 

C(*) - VALUE OF STOCKS 
1040 1150 1160 1170 liao 1190 
1200 6030 6080 6090 6100 6110 
6120 6130 7020 7020 7090 7090 
a ISO 8170 8290 16030 16030 

CA - CASH ON HAND 

1140 6140 6160 8150 8170 8170 

8290 8290 16050 16050 20040 

20060 

DA - DAY NUMBER 
4010 4010 4020 

G*<») - GENERAL INTEREST HEADLINES LIST 
1030 1060 5020 5030 5040 

GF - GENERAL HEADLINE FACTOR 
5050 7020 

GF(») - GENERAL HEADLINES FACTORS LIST 
1030 1060 5050 



I - COUNTER 








1050 


1060 


1060 


1070 


1080 


1090 


1090 


1090 


1090 


1090 


1090 


1090 


llOO 


mo 


1120 


1120 


1120 


1120 


1120 


1130 


2010 


2030 


2070 


2080 


2770 


2780 


6020 


6030 


6030 


6040 


7010 


7020 


7020 


7020 


7030 


1601< 



16020 16020 16030 16030 16040 

N*<*) - SPECIFIC HEADLINES LIST 
1030 1090 5070 5080 5090 

N(*) - SPECIFIC HEADLINE FACTOR 
1040 5100 5110 5120 5130 5140 
5150 7020 

Nl<») - SPEC HEAD FACT LIST 
1030 1090 5100 



N2<») - 

1030 1090 5110 



N3(«) - "' 

1030 1090 5120 



311 



N4<») - • 

1030 1090 5130 

N5(«) - •"•••" 
1030 1090 5140 

N6<») - "• 

1030 1090 5150 

OD - ODDS 
5220 7050 

0D(») - ODDS LIST 
1030 1120 5220 

R - RANDOM NUMBER 
5020 5030 5040 5050 5070 5080 
5090 5100 5110 5120 5130 5140 
5150 5170 5180 5190 5200 5210 
5220 5230 5240 7050 lOOlO 10500 

S«<»> - POSITIVE NEWS LIST 
1030 1120 5170 5180 5190 

S(*) - SHARES OF EACH STOCK 
1040 6030 6080 6090 6100 6110 
6120 6130 8160 8160 8270 8280 
8280 16020 16020 

SA* - STUDENT ANSWER 
2300 25 lO 2690 

SF - STOCK FACTOR 
4070 7060 7080 7090 

SM« - SPECIFIC BAD NEWS 
5230 

SM«(*> - SPECIFIC BAD hBEWS LIST 
1030 1120 4070 5230 

SN - FACTOR ON NEGATIVE NEWS 
4070 5210 7080 

SN<*) - FACTOR ON NEGATIVE NEWS LIST 
1030 1120 5210 

SY - FACTOR ON POSITIVE NEWS 
5200 7060 

SY<«) - FACTOR ON POSITIVE NEWS LIST 
1030 1120 5200 

VA - VALUE OF STOCK 

6010 6030 6030 6150 6160 16060 

16060 20050 20060 



312 



X - DEFINE ROUNDING FUNCTION 
1020 1020 

Z - STUDENT INPUT SELECTION 
8060 8070 8070 8080 8090 8120 
8150 8160 8160 8170 8230 8240 
8240 8270 8280 8280 8290 

Z2 - STUDENT INPUT SHARES 
8140 8150 8160 8170 8260 8270 
8280 8290 

END OF VAR. LIST 



SAMPLE RUN 

THIS IS A SIMULATION OF SOME OF THE 
EVENTS WHICH TAKE PLACE IN THE 
BUYING AND SELLING OF STOCK. 

YOU GET TO BUY AND SELL FROM A LIMITED 
PORTFOLIO OF STOCKS BASED UPON NEWS 
HEADLINES RELEVANT TO THOSE COMPANIES. 

YOU START WITH lOOOO DOLLARS, AND YOUR 
SOLE MISSION IS TO INCREASE THAT VALUE 
AS MUCH AS POSSIBLE IN 6 BUYING /SELLING 
SESSIONS. 

DO WATCH THE HEADLINES CAREFULLY. 
THEY ARE YOUR ONLY HINTS FOR SUCCESS. 
BE CAREFUL, THOUGH BECAUSE NOT ALL 
HEADLINES ALWAYS TURN OUT TO BE TRUE! 



PRESS 'RETURN' TO CONTINUE. 



HERE ARE THE COMPANIES: 

MIDNIGHT OIL COMPANY 

A COMPANY KNOWN FOR TAKING BIG RISKS. 

SOMETIMES THEY WIN, BUT OFTEN THEY LOSE! 

SOLAR SEEKERS, INC. 

A NEW COMPANY JUST GETTING ESTABLISHED. 
APPEAR TO EMPLOY A NUMBER OF HIGH 
TECHNOLOGY EXPERTS. 

MCDANIEL AIRCRAFT 

A WELL ESTABLISHED MILITARY/ INDUSTRIAL 

ORIENTED AERONAUTICS COMPANY. 



313 



PRESS 'RETURN' TO CONTINUE. 



HAPPY DAYS SOUTHERN MOTELS 
A LARGE CHAIN OF SOUTH UNITED STATES 
MOTELS. LARGELY DEPENDENT UPON TOURISM. 
COMMUNITY PHONE COMPANY 

A TYPICAL UTILITY CONSERVATIVE AND 

FAIRLY IMMUNE TO WORLD PROBLEMS. 

FRIENDLY ELECTRIC COMPANY 
A VERY PROGRESSIVE UTILITY, HEAVY INTO 
NUCLEAR POWER, WITH QUITE A BIT OF 
COMMUNITY OPPOSITION. 



PRESS 'RETURN' TO CONTINUE. 



HERE WE GO! 



INFLATION TAPERING OFF. 

RECORD COLD WINTER HITS! 

NEW, INEXPENSIVE ELECTRIC CELL FOUND 

COMPANY SHARES VALUE 



BY SOLAR SEEKERS! 



1. MID. OIL 





2. SOL SEE 





3. MC AIR 


o 


4. HAP MO 





5. COM PHO 





6. FRI ELEC 


o 


CASH ON HAND: lOOOO 


VALUE OF STOCK: O 




TOTAL WORTH: lOOOO 




DO YOU WISH TO: 




1. PURCHASE 




2. SEI i 




3. NEITHER 




ENTER 1, 2, OR 3 




?1 




BUY WHICH NUMBER? 




ENTER A NUMBER 1 THROUGH 6 


?2 




HOW MANY SHARES? 




?300 




COMPANY SHARES 


1. MID. OIL 





2. SOL SEE 


300 



20 
30 
70 
40 
50 
40 



VALUE 

20 
30 



314 



3. 


MC AIR 





4. 


HAP MO 





5. 


COM PHO 





6. 


FRI ELEC 






70 

40 

50 

40 

CASH ON HAND: 1000 
VALUE OF STOCK: 9000 
TOTAL WORTH: 10000 
DO YOU WISH TO: 

1. PURCHASE 

2. SELL 

3. NEITHER 
ENTER 1, 2, OR 3 
?1 

BUY WHICH NUMBER? 

ENTER A NUMBER 1 THROUGH 6. 

?1 

HOW MANY SHARES? 

?ioo 

YOU DON'T HAVE ENOUGH MONEY! 
DO YOU WISH TO: 
1- PURCHASE 

2. SELL 

3. NEITHER 
ENTER 1, 2, OR 3 
?1 

BUY WHICH NUMBER? 

ENTER A NUMBER 1 THROUGH 6. 

?1 

HOW MANY SHARES? 

?45 

COMPANY SHARES VALUE 

1. MID. OIL 45 20 

2. SOL SEE 300 30 

3. MC AIR O 70 

4. HAP MO O 40 

5. COM PHO O 50 

6. FRI ELEC O 40 
CASH ON HAND: lOO 

VALUE OF STOCK: 9900 
TOTAL WORTH: lOOOO 
DO YOU WISH TO: 

1 . PURCHASE 

2. SELL 

3. NEITHER 
ENTER 1, 2, OR 3 
?3 

KEY CABINET MEMBER CAUGHT TAKING BRIBES 

STEEL STRIKE! 

MCDANIEL AIRCRAFT SELLS lOO JETS TO MIDEAST. 

COMPANY SHARES VALUE 

26.4 
79.2 
77 
74.8 



1. 


MID. OIL 


45 


2. 


SOL SEE 


300 


3. 


MC AIR 





4. 


HAP MO 






315 



5. COM PHO 





55 


6. FRI ELEC 





44 


CASH ON HAND: 100 






VALUE OF stock: 24948 




TOTAL WORTH: 25048 






DO YOU WISH TO: 






i. PURCHASE 






2. SELL 






3. NEITHER 






ENTER 1, 2, OR 3 






?2 






SELL WHICH NUMBER? 






ENTER A NUMBER 1 THROUGH 6 




?2 






HOW MANY SHARES? 






?300 






COMPANY SHARES 


VALUE 


1. MID. OIL 


45 


26.4 


2. SOL SEE 


O 


79.2 


3. MC AIR 


O 


77 


4. HAP MO 


O 


74.8 


5. COM PHO 


O 


55 


6- hKI El FC 





44 



CASH ON HAND: 23860 
VALUE OF STOCK: 1188 
TOTAL WORTH: 25048 
DO YOU WISH TO: 
1. PURCHASE 

2- SELL 

3- NEITHER 
ENTER 1, 2, OR 3 
71 

BUY WHICH NUMBER? 

ENTER A NUMBER 1 THROUGH 

?3 

HOW MANY SHARES? 

?250 

COMPANY SHARES 



VALUE 



45 


26.4 





79.2 


250 


77 





74.8 





55 





44 



1. MID. OIL 

2. SOL SEE 

3. MC AIR 

4. HAP MO 

5. COM PHO 

6. FRI ELEC 
CASH ON HAND: 4610 
VALUE OF STOCK: 20438 
TOTAL WORTH: 25048 

DO YOU WISH TO: 

1. PURCHASE 

2. SELL 

3. NEITHER 
ENTER 1, 2, OR 3 
?3 

GOVERNMENT ACCUSSES MCDANIEL AIRCRAFT 



OF WAR - MONGER I NG! 



316 



DOLLAR GAINS VALUE OVERSEAS! 

WAR IN MID EAST! 

PHONE RATES FROZEN BY CONSUMERS' GROUP 

COMPANY SHARES VALUE 



1. MID. OIL 


45 


21.32 


2. SOL SEE 





71.48 


3. MC AIR 


250 


43.89 


4. HAP MO 





71.06 


5. COM PHO 





52.25 


6. bHI Fl FC 





41.8 


CASH ON HAND: 


4610 





VALUE OF STOCK: 11931.81 
TOTAL WORTH: 16541.81 
DO YOU WISH TO: 

1. PURCHASE 

2. SELL 

3. NEITHER 
ENTER 1, 2, OR 3 



317 



Teach Me 




PROGRAM DESCRIPTION 

A fundamental demonstration of computer logic or "intelli- 
gence" is demonstrated in this program. The computer's memory is 
expanded by inputting questions and correct answers into the 
computer. You start with one question and the computer gradually 
builds its memory from one question to the next. 

There is only one restriction in that the question must be 
answered with a "YES" or a "NO". In order to see the logic "tree" 
being developed, type in "LIST" at the beginning of each sequence. 
You can stop the building sequence by entering "STOP". 

PROGRAM NOTES 

This program has been around in many versions for quite 
some time. Although actual techniques vary, the result is always 
the construction of a "decision tree." With careful construction, 
the decision tree will make the computer appear to be learning. 
Whether or not this is true intelligence can be debated, but it is 
fun! 

You might want to develop a method for saving the string 
array F$() and reading it back in again at some other time. This 
would let you continue an interesting "training" session. 



PROGRAM LISTING: BASIC 



318 



lOO REM TEACH ME BY GARY ORWIG 
500 REM PUT MESSAGE ON SCREEN 
510 PRINT 



520 PRINT "ONE MOMENT PLEASE!" 

lOOO REM INITIALIZATION - MX DETERMINES MAXIMUM FILE SIZE 

- MAY INCREASE IF MEMORY PERMITS. 

1010 MX=200 

1020 DIM F«(MX»40) 

1030 DIM FI*(40),I*(40) ,S«(40) ,SA*(40) 

1040 FOR 1=1 TO MX 

1 050 F* ( I «40-39 , I *40 ) = " 



1060 

1070 

1080 

1090 

llOO 

lllO 

1120 

1130 

1140 

1150 

1160 

1170 

2000 

2010 

2020 

2030 

2040 

2050 

2060 

2070 

2080 

2090 

2100 

2110 

2120 

2130 

2140 

2150 

2160 

2170 

2180 

2190 

2200 

22 lO 

2220 

2230 

2240 

2250 

2260 

2270 

2280 

2290 

2300 

3000 

3010 

3020 

3030 

3040 

3050 



:S«(I,I)=" ":SA*(I,I)=" 



NEXT I 

FOR 1=1 TO 40 

FI«(I,I)=" ••:l«<i,i)=" 

NEXT I 

F* ( 1 »40-39 , 40 ) = " YES " 

F* ( 2*40-39 , 2*40 ) = " ON " 

F% (4*40-39, 4*40) ="YES" 

F* (6*40-39, 6*40) ="NO" 

F* (8*40-39, 8*40) ="EOD" 

REM USE FULL SCREEN 

POKE 82,0 

PRINT 

REM INTRODUCTION 

LI =24 

GOSUB 18000 

FOR 1=1 TO 50 

PRINT " TEACH ME! "5 

NEXT I 

DE=200 

GOSUB 19000 

18000 

"THIS IS A PROGRAM WHICH ALLOWS YOU" 
PRINT "TO TEACH THE COMPUTER!" 
PRINT 

PRINT "THE COMPUTER STARTS WITH A QUESTION, 
PRINT "AND GRADUALLY BUILDS FROM IT." 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 



GOSUB 
PRINT 



"THERE IS ONLY ONE RESTRICTION IN THAT" 
"THE QUESTION MUST BE ANSWERED WITH" 



"A 'YES' OR 'NO' 
"IS ALLOWED!" 



NOTHING IN BETWEEN" 



"TO SEE THE LOGIC TREE lnH^ICH IS" 
"BEING DEVELOPED, TYPE IN 'LIST'" 

PRINT "AT THE BEGINNING OF A SEQUENCE." 

PRINT 

TO STOP, TYPE IN 'STOP' AT THE" 



BEGINNING OF A SEQUENCE. 



RETURN' TO CONTINUE. 



PRINT 
PRINT 
PRINT 

PRINT "PUSH 
INPUT SA« 
GOSUB 18000 

i=o 

REM INPUT OPERATING PARAMETERS 

PRINT "GIVE ME A QUESTION TO START WITH." 

PRINT "LIKE 'DOES IT SWIM?'" 

INPUT SA« 

F* (3*40-39, 3*40) =SA* 

PRINT "GIVE ME THE NAME OF SOMETHING WHICH DOES' 



319 



3060 INPUT SA« 

3070 F* ( 5*40-39 , 5*40 ) =S A* 

3080 PRINT "GIVE ME THE NAME OF SOMETHING WHICH" 

3090 PRINT "DOESN'T." 

3100 INPUT SA* 

3 1 1 O F* ( 7*40-39 , 7»40 ) =SA« 

4000 REM MAIN PROGRAM 

4010 LI=6 

4020 GOSUB 18000 

4030 PRINT "TEACH ME!" 

4040 LI=& 

4050 GOSUB IBOOO 

4060 B=0 

4070 A=0 

4080 1=1 

4090 1=1+1 

4100 BW=I»40-39 

41 lO EW=I*40 

4120 IF F*(BW,BW+l)="ON" THEN 4160 

4130 IF F«(BW-40,BW-38)="YES" THEN 4420 

4140 IF F«(BW-40,BW-39)="N0" THEN 4420 

4150 GOTO 4090 

4160 L=I+1 

4170 FOR I=L TO MX 

4180 BW=I*40-39 

4190 EW=I*40 

4200 J=I 

4210 IF F»(BW,BW+2)="YES- THEN 4260 

4220 PRINT 

4230 PRINT F«(BW,EM) 

4240 PRINT 

4250 NEXT I 

4260 INPUT SA* 

4270 IF SA*="YES" THEN 4090 

4280 IF SA*="LIST" THEN 7020 

4290 IF SA«="STOP" THEN 20000 

4300 FOR I=J TO MX 

4310 BW=I»40-39 

4320 EW=I*40 

4330 IF F»(BW,BW+2)="YES" THEN 4350 

4340 GOTO 4370 

4350 B=B+1 

4360 GOTO 4400 

4370 IF F*<BW,BW+l)="NO" THEN 4390 

4380 GOTO 4400 

4390 A=A+1 

4400 IF B=A THEN GOTO 4090 

4410 NEXT I 

4420 PRINT 

4430 PRINT "ARE YOU THIlsH<ING OF A " 

4440 PRINT F«(BW,EW) 

4450 INPUT SA* 

4460 PRINT 

4470 IF SA*="NO" THEN 4500 

4480 GOSUB 12000 

4490 GOTO 4030 



320 



"OK, I GIVE UP! WHAT WERE" 
"YOU THINKING OF?" 



"TYPE IN A QUESTION," 

"WHICH WHEN ANSWERED 'YES'" 

"WILL INDICATE YOU ARE THINKING OF THE' 



4500 PRINT 

4510 PRINT 

4320 PRINT 

4530 INPUT SA« 

4540 PRINT 

4550 PRINT 

4560 PRINT 

4570 PRINT 

4580 PRINT SA» 

4590 PRINT 

4600 I«="ON" 

46 lO GOSUB 60 lO 

4620 S«=SA« 

4630 L=I 

4640 L=L+1 

4650 INPUT SA* 

4660 I«=SA« 

4670 PRINT 

4680 I=L 

4690 GOSUB 6010 

4700 1=L+1 

4710 I*="YES" 

4720 GOSUB 6010 

4730 SA«=S* 

4740 I=L+2 

4750 I«=SA« 

4760 GOSUB 6010 

4770 I=L+3 

4780 I*="NO" 

4790 GOSUB 6010 

4800 GOTO 4030 

6000 REM SHUFFLE STACK 

6010 M=I-1 

6020 M=M+1 

6030 IF F«(M*40-39,M*40-37)="E0D 

6040 GOTO 6020 

6050 IF M=MX THEN 20040 

6060 FOR N=M+1 TO I STEP -1 

6070 F» ( N*40-39 , N*40 ) =F* ( C N- 1 ) »40-39 , ( N- 1 ) »40 ) 

6080 NEXT N 

6090 LN=LEN(I«) 

6100 FOR Q=LN+1 TO 40 

6110 I«(Q,Q)=" " 

6120 NEXT Q 

6130 F«(I»40-39, I«40)=I« 

6140 RETURN 

7000 REM PRINT THE STACK 

7010 PRINT 

7020 D=l 

7030 FOR H=D TO D+15 

7040 PRINT F*<H*40-39,H*40) 

7050 NEXT H 

7060 D=D+16 

7070 PRINT 

7080 PRINT "PRESS 'RETURN' TO" 

7090 PRINT "CONTINUE LIST- " 



THEN 6050 



321 



IN 'RETL«N' TO RETURN TO PR06RAM. 



THEN 7030 



I BOT ONE RIGHT! 



7100 PRINT "TYPE 
7110 INPUT SA« 
71 20 IF SA*<> "RETURN • 
7130 GOTO 4030 
12000 REM REWARD 
12010 LI=12 
12020 GOSUB 18000 
12030 PRINT " 
12040 GOSUB 18000 

DE=150 

GOSUB 19000 

GOSUB 18000 

RETURN 

REM SCROLLING 

FOR K=l TO LI 

PRINT 

NEXT K 
18040 RETURN 
19000 REM DELAY 

FOR K=l TO DE 

NEXT K 

RETURN 

REM CLOSING 

PRINT " I HOPE YOU HAD 

PRINT " BYE FOR NOW!" 

END 

REM OUT OF SPACE IN STACK 

PRINT "YOU HAVE FILLED UP MY MEMORY!" 

PRINT "I'M AFRAID I HAVE TO STOP NOW.' 

PRINT "BYE! COME BACK AGAIN!" 

END 



12050 
12060 
12070 
12080 
18000 
18010 
18020 
18030 



19010 
19020 
19030 
20000 
20010 
20020 
20030 
20040 
20050 
20060 
20070 
20080 



FUN! 



TABLE OF VARIABLES 

MX 

1010 1020 1040 4170 4300 6050 



F» 



1020 1050 

1140 3040 

4140 4210 

6030 6070 



1100 1110 

3070 31 10 

4230 4330 

6070 61 30 



1120 1130 

4120 4130 

4370 4440 
7040 



FI« 

1030 1080 



I« 



1030 1080 
4780 6090 



4600 4660 47 10 4750 
6110 6130 



S« 



1030 lOaO 4620 4730 



SA« 

1030 1080 



322 



2280 3030 3040 3060 



3070 3100 3110 4260 
4290 4450 4470 4530 
4650 4660 4730 4750 



4270 4280 
4580 4620 
7110 7120 



1040 


1050 


1050 


1060 


1070 


1080 


1080 


1080 


1080 


1080 


1080 


1080 


1080 


1090 


2030 


2050 


2300 


4080 


4090 


4O90 


4100 


4110 


4160 


4170 


4 ISO 


4190 


4200 


4250 


4300 


4310 



4320 44 lO 4630 4680 4700 4740 
4770 6010 6060 6130 6130 



LI 



2010 4010 4040 12010 18010 



DE 



B 



2060 12050 19010 



4060 4350 4350 4400 



4070 4390 4390 4400 



BW 



4100 


4120 


4120 


4130 


4130 


4140 


4140 


4180 


4210 


4210 


4230 


4310 


4330 


4330 


4370 


4370 


4440 





EW 



41 lO 4190 4230 4320 4440 



4160 4170 4630 4640 4640 4680 
4700 4740 4770 



4200 4300 



M 



60 lO 6020 6020 6030 6030 6050 
6060 



N 



6060 6070 6070 6070 6070 6080 



LN 



Q 



6090 6100 



6100 6110 6110 6120 



7020 7030 7030 7060 7060 



323 



H 



K 



7030 7040 7040 7050 



18010 18030 19010 19020 



PROGRAM LISTING: MICROSOFT BASIC 



lOO REM TEACH ME BY GARY ORWIG 

1000 REM INITIALIZATION - MX DETERMINES MAXIMUM FILE SIZE 

MAY INCREASE IF MEMORY PERMITS. 

lOlO MX = 200 

DIM F«(MX) 



1020 
1030 
1040 
1050 
1060 
1070 
1080 



"YES" 

"ON" 

"YES" 

"NO" 

"EOD" 

FULL SCREEN 



F*(l) = 

F*(2) = 

F*(4) = 

F*(6) = 

F*(8) = 

REM USE 
1090 POKE 82, O 
llOO CLS 

REM INTRODUCTION 

H = 24 

GOSUB 18000 

FOR I = 1 TO 10 

PRINT " TEACH ME! 

NEXT I 

DE = 1500 

GOSUB 19000 



2000 

2010 

2020 

2030 

2040 

2050 

2060 

2070 

2080 

2090 

2100 

2110 

2120 

2130 

2140 

2150 

2160 

2170 

2180 

2190 

2200 

2210 

2220 

2230 

2240 

2250 

2260 

2270 

2280 

2290 

2300 

3000 

30 lO 

3020 



18000 

"THIS IS A 
"TO TEACH 



PROGRAM WHICH ALLOWS YOU" 
THE COMPUTER ! " 



THE COMPUTER STARTS WITH A QUESTION, 
AND GRADUALLY BUILDS FROM IT." 



GOSUB 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

INPUT 

GOSUB 

I = O 

REM INPUT OPERATING PARAMETERS 

PRINT "GIVE ME A QUESTION TO START WITH 

PRINT "LIKE 'DOES IT SWIM?'" 



"THERE IS ONLY ONE 
"THE QUESTION MUST 
"A 'YES' OR 'NO'. 
"IS ALLOWED!" 

"TO SEE THE LOGIC 
"BEING DEVELOPED, 
"AT THE BEGINNING 



RESTRICTION IN THAT" 
BE ANSWERED WITH" 
NOTHING IN BETWEEN" 



TREE WHICH IS" 
TYPE IN 'LIST'" 
OF A SEQUENCE." 



'TO STOP, TYPE IN 'STOP' AT 
'BEGINNING OF A SEQUENCE." 



THE' 



"PUSH 

SA« 

18000 



RETURN' TO START." 



324 



3030 

3040 

3050 

3060 

3070 

3080 

4000 

4010 

4020 

4030 

4040 

4050 

4060 

4070 

4080 

4090 

4100 

4110 

4120 

4130 

4140 

4150 

41d>0 

4170 

4180 

4190 

4200 

4210 

4220 

4230 

4240 

4250 

4260 

4270 

4280 

4290 

4300 

4310 

4320 

4330 

4340 

4350 

4360 

4370 

4380 

4390 

4400 

4410 

4420 

4430 

4440 

4450 

4460 

4470 

4480 

4490 



INPUT F*(3) 

PRINT "GIVE ME THE NAME OF SOMETHING WHICH DOES' 

INPUT FtK5) 

PRINT "GIVE ME THE NAME OF SCHiETHIlvN3 WHICH" 

PRINT "DOESN'T." 

INPUT F*(7) 

REM MAIN PROGRAM 

LI = 6 

GOSUB 18000 

PRINT "TEACH ME!" 

LI = & 



GOSUB 
B = O 
A = O 
1 = 1 
1 = 1 



18000 



+ 1 



THEN 4140 
"YES" THEN 4360 
"NO" THEN 4360 



•YES" THEN 4220 



IF F«(I) = "ON" 

IF F*<I - 1) = 

IF F«<I - 1) = 

GOTO 4090 

L = I + 1 

FOR I = L TO MX 

J = I 

IF F*(I) = 

PRINT 

PRINT F*(I) 

PRINT 

NEXT I 

INPUT SA* 

IF SA« = "YES" THEN 4090 

IF SA* = "LIST" THEN 7020 

IF SA* = "STOP" THEN 20000 

FOR I = J TO MX 

IF F*(I) = "YES" THEN 4290 

GOTO 4310 

B = B + 1 

GOTO 4340 

IF F*(I> = "NO" THEN 4330 

GOTO 4340 

A = A + 1 

IF B = A GOTO 4090 

NEXT I 

PRINT 

PRINT "ARE YOU THINKING OF A 

INPUT SA» 

PRINT 

IF SA* = "NO" THEN 4430 

GOSUB 12000 

GOTO 4030 

PRINT 



';F*(I);"?" 



PRINT 

PRINT 

INPUT SA* 

PRINT 

PRINT 

PRINT 



"OK, I GIVE UP! WHAT WERE' 
"YOU THINKING OF?" 



"TYPE IN A QUESTION," 
"WHICH WHEN ANSWERED 'YES' 



325 



4500 PRINT "WILL INDICATE YOU ARE THINKING OF THE" 

4510 PRINT SA« 

4520 PRINT 

4530 I* = "ON" 

4540 GOSUB 6010 

4550 S« = SA« 

4560 L = I 

4570 L = L + 1 

45Q0 INPUT SA* 

4590 I* = SA* 

4600 PRINT 

4610 I = L 

4620 GOSUB 6010 

4630 I = L + 1 

4640 I* = "YES" 

4650 GOSUB 6010 

4660 SA« = S« 

4670 I = L + 2 

4680 I« - SA« 

4690 GOSUB 6010 

4700 I = L + 3 

4710 I* = "NO" 

4720 GOSUB 6010 

4730 GOTO 4030 

6000 REM SHUFFLE STACK 

6010 M = I - 1 

6020 M = M + 1 

6030 IF F*(M) = "EOD" THEN 6050 

6040 GOTO 6020 

6050 IF M = MX THEN 20500 

6060 FOR N = M + 1 TO I STEP - 1 

6070 F*<N) = F«(N - 1) 

6080 NEXT N 

6090 F»(I) = I* 

6100 RETURN 

7000 REM PRINT THE STACK 

7010 PRINT 

7020 D = 1 

7030 FOR H = D TO D + 15 

7040 PRINT F*(H) 

7050 NEXT H 

7060 D = D + 16 

7070 PRINT 

7080 PRINT "PRESS 'RETURN' TO" 

7090 PRINT "CONTINUE LIST. " 

7100 PRINT "TYPE IN 'RETURN' TO RETURN TO PROGRAM. 

7110 INPUT SA* 

7120 IF SA* < > "RETURN" THEN 7030 

7130 GOTO 4030 

12000 REM REWARD 

12010 LI = 12 

12020 GOSUB 18000 

12030 PRINT " I GOT ONE RIGHT!" 

12040 GOSUB 18000 

12050 DE = 1000 

12060 GOSUB 19000 



326 



12070 GOSUB 18000 

12080 RETURN 

18000 REM SCROLLING 

18010 FOR K = 1 TO LI 

18020 PRINT 

18030 NEXT K 

18040 RETURN 

19000 REM DELAY 

19010 FOR K = 1 TO DE 

19020 NEXT K 

19030 RETURN 

20000 REM CLOSING 

20010 PRINT ■■ I HOPE YOU HAD FUN!" 

20020 PRINT " BYE FOR NOW ! " 

20030 END 

20500 REM OUT OF SPACE IN STACK 

20510 PRINT "YOU HAVE FILLED UP MY MEMORY!* 

20520 PRINT "I'M AFRAID I HAVE TO STOP NOW. 

20530 PRINT "BYE! COME BACK AGAIN!" 

20540 END 



TABLE OF VARIABLES 

A 

4070 4330 4330 4340 

B 

4060 4290 4290 4340 

D 

7020 7030 7030 7060 7060 

DE 

2060 12050 19010 

F«(*) 

1020 1030 1040 1050 1060 1070 
3030 3050 3080 4100 4110 4120 
4170 4190 4270 43 lO 4370 6030 
6070 6070 <b090 7040 

H 

7030 7040 7050 

I 

2030 2050 2300 4080 4090 4090 
4100 41 lO 4120 4140 4150 4160 
4170 4190 4210 4260 4270 4310 
4350 4370 4560 46 lO 4630 4670 
4700 6010 6060 6090 

I« 

4530 4590 4640 4680 47 lO 6090 



327 



J 

4160 4260 

K 

18010 18030 19010 19020 

L 

4140 4150 4560 4570 4570 46 lO 

4630 4670 4700 

LI 

2010 4010 4040 12010 18010 

M 

60 lO 6020 6020 6030 6050 6060 

MX 

lOlO 1020 4150 4260 6050 

N 

6060 6070 6070 6080 

S« 

4550 4660 

SA« 

2280 4220 4230 4240 4250 4380 

4400 4460 4510 4550 4580 4590 

4660 4680 7110 7120 

END OF VAR. LIST 



SAMPLE RUN 

THIS IS A PROGRAM WHICH ALLOWS YOU 
TO TEACH THE COMPUTER! 

THE COMPUTER STARTS WITH A QUESTION, 
AND GRADUALLY BUILDS FROM IT. 

THERE IS ONLY ONE RESTRICTION IN THAT 
THE QUESTION MUST BE ANSWERED WITH 
A 'YES' OR 'NO'. NOTHING IN BETWEEN 
IS ALLOWED! 

TO SEE THE LOGIC TREE WHICH IS 
BEING DEVELOPED, TYPE IN 'LIST' 
AT THE BEGINNING OF A SEQUENCE. 

TO STOP, TYPE IN 'STOP' AT THE 
BEGINNING OF A SEQUENCE. 

PUSH 'RETURN' TO START. 



328 



GIVE ME A QUESTION TO START WITH. 

LIKE 'DOES IT SWIM?' 

?DaES IT FLY? 

GIVE ME THE NAME OF SOMETHING WHICH DOES 

?BIRD 

GIVE ME THE NAME OF SOMETHING WHICH 

DOESN'T. 

?CAT 

TEACH ME! 



DOES IT FLY? 

?YES 

ARE YOU THINKING OF A BIRD? 
?N0 

OK, I GIVE UP! WHAT WERE 
YOU THINKING OF? 
?AIRPLANE 

TYPE IN A QUESTION, 

WHICH WHEN ANSWERED 'YES' 

WILL INDICATE YOU ARE THINKING OF THE 

AIRPLANE 

?DOES IT CARRY PEOPLE? 

TEACH ME! 

DOES IT FLY? 

?YES 

DOES IT CARRY PEOPLE? 

?N0 

ARE YOU THINKING OF A BIRD? 
?YES 

I GOT ONE RIGHT! 

TEACH ME! 

DOES IT FLY? 
?NO 



329 



ARE YOU THINKING OF A CAT? 
?NO 



OK, I GIVE UP! WHAT WERE 

YOU THINKING OF? 

?DOG 

TYPE IN A QUESTION, 

WHICH WHEN ANSWERED 'YES' 

WILL INDICATE YOU ARE THINKING OF THE 

DOG 

?DOES IT BARK? 

TEACH ME! 



DOES IT FLY? 

?LIST 

YES 

ON 

DOES IT FLY? 

YES 

ON 

DOES IT CARRY PEOPLE? 

YES 

AIRPLANE 

NO 

BIRD 

NO 

ON 

DOES IT BARK? 

YES 

DOG 

NO 

PRESS 'RETURN' TO 

CONTINUE LIST. 

TYPE IN 'RETURN' TO RETURN TO PROGRAM. 

?RETURN 

TEACH ME! 



DOES IT FLY? 

?STOP 
I HOPE YOU HAD FUN! 
BYE FOR NOW! 



330 



Appendix A 
SOUND AND GRAPHIC SUBROUTINES 



Two of the most exciting attributes of the Atari home computers are their abiUties to 
produce sound and color graphics. Unfortunately, it would require another whole book 
to properly treat these two areas. However, since sound and graphics can add so much to 
computer-assisted instruction, the authors of this book felt it important to encourage you 
to explore these areas. Graphics and sound are most easily added to the reward and 
wrong-answer feedback areas. The following routines have been written with this in 
mind, and for the most part they can be directly substituted into any of the programs. Just 
drop the 12,000s or 14,000s from one of the programs and put one of these subroutines in 
either place. As you gain confidence, you can try combining both graphics and sound for 
really interesting results. 

These routines merely touch the surface of the potential for sound and graphics. If 
you get interested, check with your dealer for a good book or two that really go into the 
details. 



lOO REM RANDOM NOTES - PITCH AND DURATION VARY 

110 REM MAIN PROGRAM AREA 

120 REM GO TO SUBROUTINE 

130 GOSUB 12000 

140 REM CONTINUE WITH PROGRAM 

150 REM IN THIS CASE, END- 

160 END 

12000 REM RANDOM NOTES 

12010 FOR J=l TO 20 

12020 SOUND 0,RND(0)*255, 10,10 

12030 FOR 1=1 TO (RND (O) *4+l) *40 

12040 NEXT I 

12050 NEXT J 

12060 SOUND 0,0,0,0 

12070 RETURN 



331 



100 REM MUSICAL SCALE 

110 REM THIS IS AN ATTENTION GETTING UP AND DOWN SCALE SOUND 

120 REM MAIN PART OF PROGRAM 

130 REM GOTO SUBROUTINE 

140 GOSUB 12000 

150 REM CONTINUE WITH PROGRAM 

160 REM IN THIS CASE, END 

170 END 

12000 REM UP AND DOWN TONES 

12010 FOR 1=255 TO 1 STEP -15 

12020 SOUND O, I , 10, 10 

12030 FOR J=l TO 20: NEXT J 

12040 NEXT I 

12050 FOR 1=1 TO 255 STEP 15 

12060 SOUND 0,1,10,10 

12070 FOR J=l TO 20: NEXT J 

12080 NEXT I 

12090 SOUND 0,0,0,0 

12100 RETURN 



100 REM BUZZ ROUTINE 

110 REM JUMP TO WRONG ANSWER ROUTINE 

120 REM TO PRODUCE AN UNPLEASANT BUZZ. 

130 REM MAIN PART OF PROGRAM 

140 GOSUB 14000 

150 REM CONTINUE WITH PROGRAM 

160 REM IN THIS EXAMPLE, END 

170 END 

14000 REM BUZZ 

14010 SOUND 0,60,12,15 

14020 SOUND 1,58,12,15 

14030 FOR 1=1 TO 200 

14040 NEXT I 

14050 SOUND 0,0,0,0 

14060 SOUND 0,0,0,0 

14070 RETURN 



lOO REM MUSIC 

110 REM BE CAREFUL WITH THE DATA STATEMENTS. 

120 REM YOU WILL HAVE TO USE ' RESTORE' CAREFULLY 

130 REM IF THERE ARE OTHER DATA SATEMENTS IN THE PROGRAM. 

140 REM GO TO THE SUBROUTINE 

150 GOSUB 12000 

160 REM CONTINUE WITH PROGRAM 

170 REM IN THIS CASE END 

ISO END 

12000 REM MUSIC 

12010 RESTORE 12140 

12020 V=V+1 



332 



12030 IF V=5 THEN RETURN 

12040 READ Nl , N2,N3, N4, L 

12050 IF N 1=999 THEN GOTO 12010 

12060 L=L«40 

12070 IF V>0 THEN SOUND 0,N1,10,14 

12080 IF V>1 THEN SOUND 1,N2,10,14 

12090 IF V>2 THEN SOUND 2,N3,10,14 

12100 IF V>3 THEN SOUND 3,N4,10,14 

121 lO FOR 1=1 TO L 

12120 NEXT I 

12130 GOTO 12040 

12140 DATA 121,96,81,60,1,96,81,60,47,1,81,60,47,40,1,60,47, 

40,29,2,81,60,47,40,1,60,47,40,29,6 

12150 DATA 0,0,0,0,6,999,999,999,999,999 



lOO REM LARGE TEXT REWARD ROUTINE 

llO REM MAIN PROGRAM AREA 

120 REM GO TO SUBROUTINE 

130 GOSUB 12000 

140 REM CONTINUE WITH PROGRAM 

150 REM IN THIS EXAMPLE, END 

160 END 

12000 REM LARGE TEXT REWARD 

12010 GRAPHICS 2+16 

12020 POSITION 4,5 

12030 PRINT #6; "VERY GOOD ! " 

12040 FOR 1=1 TO 1000: NEXT I 

12050 GRAPHICS O 

12060 RETURN 



lOO REM HAPPY FACE 

llO REM MAIN PROGRAM AREA 

120 REM GO TO THE SUBROUTINE 

130 GOSUB 12000 

140 REM CONTINUE PROGRAM 

150 REM IN THIS CASE, END 

160 END 

12000 REM FACE 

12010 GRAPHICS 7+16 

12020 COLOR 1 

12030 FOR A=l TO 7.5 STEP 0.05 

12040 PLOT (80+SIN<A)»20) , <40+C0S(A)*20) 

12050 NEXT A 

12060 PLOT 70, 33: PLOT 7 1,33: PLOT 89, 33: PLOT 90,33 

12070 PLOT 79, 40: PLOT 8 1,40: PLOT 80,39 

12080 PLOT 70,46 

12090 DRAWTO 80,50 

12100 DRAWTO 90,46 

121 lO FOR 1=1 TO 2000:NEXT I 



333 



12120 GRAPHICS O 
12130 RETURN 



100 REM SAD FACE 

110 REM MAIN PROGRAM AREA 

120 REM GO TO THE SUBROUTINE 

130 GOSUB 12000 

140 REM CONTINUE PROGRAM 

ISO REM IN THIS CASE, END 

160 END 

12000 REM SAD FACE 

12010 GRAPHICS 7+16 

12020 COLOR 3 

12030 FOR A=l TO 7-5 STEP 0.05 

1 2040 PLOT ( 80+S I N ( A ) *20 ) , ( 40+C0S ( A ) *20 ) 

12050 NEXT A 

12060 PLOT 70, 33: PLOT 7 1,33: PLOT 89, 33: PLOT 90,33 

12070 PLOT 79, 40: PLOT 81,40: PLOT 80,39 

12080 PLOT 70, 50 

12O90 DRAWTO 80,46 

12100 DRAWTO 90,50 

121 lO FOR 1=1 TO 2000:NEXT I 

12120 GRAPHICS O 

12130 RETURN 



334 



100 REM GRAPHICS ROUTINE 

110 REM MAIN PART OF PROGRAM 

120 REM JUMP TO SUBROUTINE 

130 GOSUB 12000 

140 REM CONTINUE WITH PROGRAM 

ISO REM IN THIS CASE, STOP 

160 END 

12000 REM SPIRALS, ETC 

12010 PI=3. 14159:W=PI/100 

12020 D=RND<0)*20 

12030 ANG=RND<0)*360 

12040 I=RND(0)*20 

12050 GRAPHICS 8+16: COLOR 1 

12060 SETCOLOR 2, RND <0) *16, INT (RND (O) *4) *2 

12070 X=140:Y=96:A=ANG:PL0T X,Y 

12080 FOR J=l TO 200 

12090 XN=X+D*COS (W*A) : YN=Y+D*SIN (W*A) 

12100 IF XN<0 OR YN<0 THEN 12150 

121 lO IF XN>319 OR YN>191 THEN 12150 

12120 DRAWTO XN,YN:D=D+I 

12130 a=a+ang:x=xn:y=yn 

12140 NEXT J 

12150 FOR 1=1 TO 400:NEXT I 

12160 GRAPHICS O 

12170 RETURN 



Appendix B 
GLOSSARY 



Address. A number that designates a location where information is stored in a memory 
device. 

Algorithm. A statement of mathematical and/or logical steps to be followed in the 
solution of a problem. 

ASCII, American Standard Code for Information Interchange. A standard set of binary 
codes which represent letters, numbers, and symbols. 

BASIC. Beginners All-Purpose Symbolic Instruction Code. A high-level conversational 
programming language in widespread use. Incorporates simple English words and 
common mathematical symbols. 

Baud. A rate of data transfer, given in bits per second. Alphabetic characters usually 
require about 10 bits per character, so a baud rate of 300 corresponds to about 30 
characters per second. 

Binary Code. The most fundamental of codes, using only O's and I's to represent data. 
Can be represented by the presence or absence of electrical current within key parts 
of a computer. 

Branching Programmed Instruction. The material to be learned is presented in a 
sequence of small steps or frames similar to linear programmed instruction. The 
learner is presented a paragraph or so of information and asked questions concerning 
the paragraph. A correct answer advances or branches the program to the next step, 
where the learner's correct answer is verified and further information in paragraph 
form is presented. If the answer is incorrect or a near miss, the learner is transferred 
to a frame which explains the point in elementary or remedial terms. The learner is 
then sent back to the original point or frame to begin the advancement or branching 
process once again. 

Bus. The set of electrical lines connecting the various parts of the computer. Data and 
control signals are sent along these lines. 

Byte. A basic unit of information in a computer. A byte usually represents one character 
and is normally eight bits in length. 



335 



CAL Computer-Assisted (Aided or Administered) Instruction. Many times CAI can be 
also referred to as CAL (computer-assisted learning) or CBL (computer-based 
learning). An extrinsic programming technique for individual instruction using 
computer hardware and software. 

Character. Letters^ numbers^ and symbols which can be arranged into information. A 
character can usually be defined as one byte of information. 

Computer Literacy. Knowledge or awareness of how computers are operated, pro- 
grammed, and applied as an object of instruction. 

Courseware. The terms course and software combined. The material to be learned is 
written in a computer programming language such as BASIC or PILOT. 

CPU. Central Processing Unit. The "brain" of the computer. Directs all functions of the 

computer. 

CRT. Cathode Ray Tube. The tube which makes the television screen perform. Used to 
display text and graphics created by a computer. Frequently linked with a keyboard 
to create a CRT terminal. 

Cursor. A movable spot on the face of a CRT with indicates where the next character 
will be displayed. 

Data. Information transferred to or from a computer. 

Debug. The process of locating and eliminating errors in a program listing. 

Dialog. A type of computer-assisted instruction (CAI) that is least used. Software is 
complex and requires a great deal of data storage capability. Instruction begins with 
the learner submitting questions or data to the computer. The computer replies with 
correct answers and additional information on the subject(s) and even provides 
practice problems. Dialog CAI is not very practical with present microcomputers 
because of the lack of data storage capability. 

Diagnostic Routine. A form of programming which lets the computer test itself for 
internal hardware malfunctions. 

Disc (Disk). A mass storage device capable of high storage and retrieval speeds. Similar 
in appearance to a magnetic oxide coated record. Can be either floppy (flexible) or 
hard, depending upon performance requirements. 

Dot Matrix. A technique of using an array of dots to create characters. A 5 X 7 array of 
dots is the bare minimum for alphanumeric characters, while larger arrays, such as 
7X9, will allow upper and lower case letters, and underlining. 

Drill and Practice. A type of computer- assisted instruction (CAI) that is used most 
widely by educators. Material is presented in form of practice problems and 
exercises for the purpose of learning reinforcement. Computer provides student 
reward and recognition for correct answers and remedial information for wrong 
answers. Excellent for present microcomputer hardware. 

Duplex (Full Duplex). An interface which allows simultaneous two-way communica- 
tion between a computer and a peripheral device. 

EPROM. Erasable Programmable Read Only Memory. A long-term memory which, 
under special conditions, can be erased and rewritten. 

336 



File. A set of data which has some specified relationship. 

Firmware. Programs which are stored in ROM. They are immediately available for 
execution; there is no need to load them from a storage device. 

Floating Point BASIC. A full-sized BASIC programming language capable of handling a 
complete range of mathematic computations. It also includes sophisticated methods 
for manipulating words or "strings" of non-numeric characters. 

GIGO. Garbage In, Garbage Out. Any errors which enter a computer will result in errors 
in the output. 

Graphics. The ability of the computer to construct line drawings, graphs, charts, etc. on 
a CRT or a printer. 

Graphic Subroutine. A small segment of a program listing that performs a specific 
graphic function. Graphic subroutines can substitute word subroutines in order to 
draw or plot a graphic design to depict the meaning of the word. 

Hardware. The equipment which makes up a computer system. 

High-Level Language. A computer language with characteristics of English words, 
decimal arithmetic, and common mathematics symbols. Each instruction usually 
represents many individual computer operations. 

Input. Information (or data) entering a computer or peripheral device. The same 
information may be output from some other part of the computer system. 

Interface. A hardware and/or software device used to connect a computer to peripheral 
equipment such as printers. 

I/O. Input/Output of information. The two terms are frequently used together because 
they often involve the same communication lines. 

K or Kilo. Symbol or prefix for 1,000. In computer language, 1 K actually stands for 2 to 
the tenth power or 1,024. 

Linear Programmed Instruction, Material to be learned is presented in a logical (fixed) 
sequence of small steps or frames. Immediate confirmation of correct or incorrect 
answers is given and student progresses onto the next frame at his or her own rate. 
Correct answer must be given before the learner advances onto the next step or 
frame. 

LOGO. A programming language developed by Seymour Papert with MIT (Massachu- 
setts Institute of Technology) associates by which children can learn computer 
programming, problem solving, and mathematics while using the computer. 
Children are typically introduced to LOGO by using the computer to control a 
"TURTLE," an imaginary creature that "lives" on a graphics display screen, the 
movement of which is controlled by commands typed at a computer keyboard. 

Machine Language. A language which can be executed directly by the computer. 
Usually a series of binary or hexdecimal numbers. Very difficult for humans to work 
with. 

Memory. The high speed electronic components in a computer that store information 
often in RAM or ROM. 



337 



Modem. Modulator-Demodulator. An interface that allows the computer to send 
(receive) digital signals over analog signal telecommunication lines or sateUites. 

Output. Information or data coming from a computer. 

Peripheral Device. Equipment that links to a computer by means of an interface. 
Printers, CRT's, tape and disc drives are examples. 

PILOT. A high-level programming language using interaction and conversation tech- 
niques. Developed by Dr. John Starkweather at the University of California, San 
Francisco. 

Programmed Instruction (PI). Material to be learned is presented in short sequential 
steps or frames. Each frame represents a fact to be learned. A dialog in the form of 
questions and answers is set up between a single tutor and a single learner. 

PROM. Programmable Read Only Memory. Permanently recorded data stored on special 
RAM memory. Once programmed the data cannot be altered by computer or man. 
Useful for storing frequently utilized instructions. 

RAM. Random Access Memory. The "working" memory of the computer. This memory 
can be accessed and altered (programmed) by the computer or man as needed. 

REM. A REMarks statement in a program listing. It is used to explain a portion of the 
program and does not have to be entered into the computer's memory. 

ROM. Read Only Memory. About the same as PROM, except that ROM is usually 
programmed at the time of manufacture. Many times in the form of cassette or 
cartridges. ROM cannot be altered (programmed) by the computer or man. 

Simulation Programmed Instruction. A type of programmed instruction (PI) and 
computer-assisted instruction (CAI) that puts the learner in a real-life physical or 
social situation. Simulations are designed to allow the learner to use decision- 
making skills to alter the situation and witness the outcome created by the decisions. 
Personal, educational growth derives from the parallel effect of the various inputs to 
real-life conditions. A great deal of enthusiasm or motivation from the learner is one 
good aspect of the use of simulation CAI. Many computer games (for example, Space 
War games) are simulations. Science and engineering as well as the aerospace 
industry use simulations for structural design and the training of personnel. 
Simulations are difficult to create, but they have tremendous potential for use on 
present microcomputers. 

Software. Programs and necessary documentation which are needed to make a 
computer operate. 

Testing. A type of computer-assisted instruction (CAI) that educators first used on a 
computer. Computer gives a "test" by asking questions while the learner responds 
with the correct or incorrect answer, A score is recorded by the computer and a grade 
is displayed at the end of the test. Microcomputers are good application for this type 
of CAI. 

Tutorial. A type of computer-assisted instruction (CAI) that is the second most widely 
used application by educators. Linear, branching, or simulation programmed 



338 



instruction is implemented on a computer. Microcomputers are widely used for this 
type of CAI. 

Terminal. A peripheral device which usually consists of a printer or a CRT, a keyboard, 
and sometimes a floppy or hard disc device. 



339 



Appendix C 
REFERENCES 



BOOKS 

1. Albrecht, Bob, Finkel, Leroy, and Brown, Jerald R. ATARI® BASIC John Wiley 8k Sons, 
New York, 1979. 

2. Albrecht, Bob, Lower, Judy, and More, Herb. ATARP Sound and Graphics. John Wiley 
8k Sons, New York, 1982. 

3. Anderson, Ronald E., Hunter, Beverly, and Seidel, Robert J., eds. Computer Literacy: 
Issues and Directions for 1985. Academic Press, New York, 1982. 

4. Atkinson, R. C, and Wilson, H. A., eds. Computer-Assisted Instruction: A Book of 
Readings. Academic Press, New York, 1969. 

5. Barnes, O. Dennis, and Schrieber, Deborah B. Computer-Assisted Instruction, A 
Selected Bibliogxaphy. Association for Educational Communications and Technology, 
Washington, D.C., 1972. 

6. Bassler, Richard A., and Joslin, Edward O. Applications of Computer Systems. College 
Readings, Inc., Arlington, VA, 1974. 

7. Blishen, Edward. The Encyclopedia of Education Philosophical Library, Inc., New 
York, 1970. 

8. Bullock, Donald H. Programmed Instruction Educational Technology Publications, 
Inc., Englewood Cliffs, NJ, 1978. 

9. Coburn, Peter; Kelman, Peter; Roberts, Nancy; Snyder, Thomas F.; Watt, Daniel H.; 
and Weiner, Cheryl. Practical Guide to Computers in Education. Addison- Wesley 
PubHshing Co., Inc., 1982. 

10. Doerr, Christine. Microcomputers and the 3 R's. Hayden Book Company, Inc., 
Rochelle Park, NJ, 1979. 

11. Eddins, John, and Peter, G. David. A Plarwing Guide to Successful Computer 
Instruction. Electronic Courseware Systems, Inc., Champaign, IL, 1982. 

12. Edwards, J. B.; Ellis, A. S.; Richardson, D. E.; Holznagel, D.; and Klassen, D. Computer 
Apphcations in Instruction: A Teacher's Guide to Selection and Use. Time Share 
Corporation, Hanover, NH, 1978. 

13. Kurshan, Barbara. Computer Literacy: Practical Ways to Teach the Basic Mathematic 
Skills. Virginia Council of Teachers of Mathematics, Richmond, VA, 1978. 

14. Nahigian, J. Victor, and Hodges, William S. Computer Games for Businesses, Schools, 



341 



and Homes. Winthrop Publishers, Inc. (Little, Brown Sk Company), Cambridge, MA, 
1979. 

15. Orwig, Gary W., and Hodges, William S. The Computer Tutor: Learning Activities for 
Homes and Schools. Winthrop Publishers, Inc. (Little, Brown 8k Company), 
Cambridge, MA, 1982. 

16. Poole, Lon, McNiff, Martin, and Cook, Steven. Your ATARI® Computer: A Guide to 
ATARI® 400/800"^ Personal Computers. Osborne/McGraw-Hill, Berkeley, CA, 1982. 

17. Reese, Jay. Simulation Games and Learning Activities Kit for the Elementary School 
Parker Publishing Company, Inc., West Nyack, NY, 1977. 

PERIODICALS 

1. Ahl, David H. "Computer Simulation Games." Teacher, February 1980, pp. 60-61. 

2. Aiken, Robert M., and Braun, Ludwig. "Into the 80's with Microcomputer-Based 
Learning." Computer, July 1980, pp. 11-16. 

3. Aiken, Robert M., and Moshell, Michael. "Computer Power." The Computing 
Teacher, April 1982, pp. 12-14. 

4. Allee, Jr., John G., and Williams, Robert L. "A Challenge for the Language Arts CAI 
Developer." Creative Computing, September 1980, pp. 120-125. 

5. Barnett, Bruce D. "Grading Made Easy." Creative Computing, September 1980, pp. 
146-149. 

6. Bejar, Isaac I. "Milliken Math Sequences." Creative Computing, September 1980, pp. 
56-57. 

7. Bell, Fred. "Classroom Computers: Beyond the 3R's." Creative Computing, September 
1979; pp. 68-70, 

8. Billings, Karen. "Microcomputers in Education: Now and in the Future." Kilobaud 
Microcomputing, June 1980, pp. 100-102. 

9. Blaschke, Charles L. "Microcomputer Software Development for Schools: What, 
Who, How?" Educational Technology, October 1979, pp. 26-28. 

10. Bork, Alfred, and Franklin, Stephen. "Personal Computers in Learning." Educational 
Technology, October 1979, pp. 7-12. 

11. Campbell, J. Olin. "Personal Computers In The Classroom." Interface Age, October 

1979, pp. 60-62. 

12. Carlson, Ronald. "Complements and Supplements." Creative Computing, September 

1980, pp. 140-142. 

13. Carlstrom, Geraldine. "Operating a Microcomputer Convinced Me — and My Second 
Graders— To Use It Again . . . and Again . . ." Teacher, February 1980, pp. 54-55. 

14. Carpenter, Chuck. "Chem Lab Simulations From High Technology." Creative 
Computing, September 1980, pp. 58-59. 

15. Carr, Everett Q., "Computer Survival Course for Kids." Kilobaud Microcomputing, 
June 1980, pp. 122-123. 

16. Cohen, Michael R. "Improving Teachers' Conceptions of Computer- Assisted Instruc- 
tion." Educational Technology, August 1978, pp. 41-42. 

17. Cook, William H. "Math Teacher." Kilobaud Microcomputing, June 1980, pp. 134- 
136. 

18. D'Ignazio, S. Frederick. "The World Inside The Computer." Creative Computing. 
September 1980, pp. 40-44. 



342 



19. Dwyer, Tom. "Books as an Antidote to the CAI Blues, Or Take a Publisher to 
Lunch." BYTE, July 1980, pp. 74-84. 

20. Fincher, Jack. "Computers Are Kid Stuff." Next, March/April 1980, pp. 38-41 ff. 

21. Fink, Robert K. "Living Off the Land." Personal Computing, August 1980, pp. 50- 
51. 

22. Frann, Steven. "Computers and Education: Views of Seymour Papert." Technology 
Review, November 1979, pp. 77-78. 

23. Frenzel, Lou, "The Personal Computer— Last Chance for CAI?" BYTE, July 1980, pp. 
86-96. 

24. Friel, Susan, and Roberts, Nancy. "Computer Literacy Bibliography." Creative 
Computing, September 1980, pp. 92-97. 

25. "Getting Started With Microcomputers." Instructional Irmovator, September 1980, 
Vol. 25, No. 26. 

26. Gilder, Jules H. "Radio Electronics Buyer's Guide To Home Computers." Radio 
Electronics, October 1980, pp. 45-84. 

27. Heines, Jesse M. "Courseware Development and the NSF." Computer, July 1980, pp. 
31-34. 

28. Huntington, John F. "Microcomputers and Computer-Assisted Instruction." Educa- 
tional Technology, May 1979, pp. 32-37. 

29. Kahn, Henry F. "Needed: An Alternative for Mathematics Textbooks." School Science 
and Mathematics, October 1979, pp. 472-477. 

30. Kingman, James C. "Design Good Educational Software." Creative Computing, 
October 1981, pp. 72-81. 

31. Kleiman, Glenn. "Learning With Computers." Compute!, September 1982, pp. 96- 
99. 

32. Knight, Anne H. "Computer Anxiety: One Way to Handle It." Creative Computing, 
September 1979, pp. 74-75, 

33. Larsen, Sally Greenwood. "Kids and Computers: The Future is Today." Creative 
Computing, September 1979, pp. 58-60. 

34. Lehman, James D. "Nich, A BASIC Game of Ecology." Creative Computing, July 1979, 
pp. 87-91. 

35. Lichtman, David. "Survey of Educators' Attitudes Toward Computers." Creative 
Computing January 1979; pp. 48-50. 

36. Lipson, Joseph I. "Technology in Science Education: The Next 10 Years." Computer, 
July 1980, pp. 21-28. 

37. Loop, Liza, and Anton, Julia. "Bringing Computers to the People." Classroom 
Computer News, September/October 1982, pp. 29-31. 

38. Lubar, David. "Educational Software." Creative Computing, September 1980, pp. 64- 
72. 

39. Luehrmann, Arthur. "Computer Illiteracy — A National Crisis and a Solution For It." 
BYTE, July 1980, pp. 98-102. 

40. March, Paul W. "The Microcomputer Goes to School" Audiovisual Instruction, May 
1978, pp. 38-40. 

41. Martellaro, Helena C. "Why Don't They Adopt Us?" Creative Computing, September 
1980, pp. 104-105. 

42. Mazur, Ken. "Grow Old Along with Me! The Best Is Yet to Be..." Personal 
Computing, August 1980, pp. 39-41. 



343 



43. McGowan, Francis. "The Micro In A Small School." Interface Age, October 1979, pp. 
64, 99ff. 

44. Miller, Inabeth. "The Micros Are Coming." Media and Methods, April 1980, pp. 31- 
34ff. 

45. Miller, W. R., and Randolph, James E. "Occupational Information Through 
Computer Simulation." Journal of Educational Research, March/ April, 1977, pp. 199- 
204, 

46. Molnar, Andrew. "The Next Great Crisis in American Education — Computer 
Literacy." EDUCOM Bulletin, Spring 1979. 

47. Mourer, Donald E. "The Computer vs. the Professor." Creative Computing, September 

1979, pp. 78-81. 

48. Nilson, Jeff. "Classroom of the Future." Kilobaud Microcomputing, September 1981, 
pp. 36-40. 

49. Noddings, Nel, "Word Problems Made Painless." Creative Computing, September 

1980, pp. 108-113. 

50. Noonan, Larry. "Computer Simulations In The Classroom." Creative Computing 
October 1981, pp. 132-138. 

51. Olds, Jr., Henry F. "Through A New Looking Glass." Kilobaud Microcomputing, 
September 1981, pp. 62-74. 

52. Patterson, Jerry L., and Patterson, Janice H. "The Next National Disgrace: Why 
Johnny Can't Log On." Classroom Computer News, March/ April 1982, p. 69. 

53. Piele, Donald T. "Flow To Solve It— with the Computer." Creative Computing, 
September 1980, pp. 126-131. 

54. Piele, Donald T. "Micros 'GOTO' School." Creative Computing, September 1979, pp. 
132-134. 

55. Potts, Michael. "Smart Programs, Dumb Programs." Creative Computing, September 
1980, pp. 100-102. 

56. Prentice, Lloyd R. "Class '82." Kilobaud Microcomputing, September 1982, pp. 32- 
34. 

57. Prentice, Lloyd R. "Educational Computing — The Giant Awakes." Kilobaud Micro- 
computing, September 1981, pp. 86-91. 

58. Ropes, George. "Bringing Microcomputers Into Schools." Kilobaud Microcomputing, 
June 1980, pp. 104-105. 

59. Schwartz, Marc D. "Integrating CAI and Videotape." Creative Computing, September 
1980, pp. 116-117. 

60. Sorlie, William E., and Essex, Diane L. "So You Want to Develop A Computer-Based 
Instruction Project? Some Recommendations to Consider First." Educational Tech- 
nology, March 1979, pp. 53-57. 

61. Souviney, Randall. "There's a Microcomputer in Your Future." Teacher, February 
1980, pp. 53-58. 

62. Spivak, Howard, and Varden, Stuart. "Classrooms Make Friends with Computers." 
Instructor, February 1980, pp. 52-58, and Part II, March 1980, pp. 84-90. 

63. Stark, Peter A. "Computer Education and Vocations." Kilobaud Microcomputing, June 
1980, pp. 150-156. 

64. Stewart, George. "How Should Schools Use Computers? The Debate Heats Up." 
Popular Computing, December 1981, pp. 104-110. 

65. Stone, Deborah. "Computers at an Alternative School." Creative Computing, 
September 1980, pp. 46-47. 



344 



66. Strickland, A. W. "Metric Instruction in Elementary Science Methods Using 
Computer-Managed Instruction." Educational Technology, August 1979; pp. 31-32. 

67. Swenson, Richard P.^ and Anderson, Chrys. "The Role of Motivation In Computer- 
Assisted Instruction." Creative Computing, October 1982, pp. 134-139. 

68. The, Lee. "What Did You Do In Computer Class?" Personal Computing, September 
1981, pp. 44-51, 54. 

69. Viacant, William J. "The Briefcase-size Computer and Its Impact on Education." 
Computers and People, May 1978, pp. 24-25. 

70. Victor, John Eric. "Rudimentary Computer Teaching Aid." Kilobaud Microcomputing, 
June 1980, pp. 162-163. 

71. Watt, Daniel. "The Brouhaha Over Computers In The Classroom." Popular Com- 
puting, May 1982, pp. 36-45. 

72. Wexler, Henrietta. "Computer Literacy." American Education, June 1979, pp. 4 Iff. 

73. Woolley, Robert D. "Microcomputers and Videodiscs: New Dimensions for Com- 
puter Based Education." Interface Age, December 1979, pp. 78-82. 

74. Zinn, Karl L. "Personal Computers at the University of Michigan: An Assessment of 
Potential Impact." Creative Computing, September 1978, pp. 84ff. 



345 



$15.95 



The Computer Tutor: ATARI® Home Computer Edition 

Learning Activities for Homes and Schools 
Gary W. Orwig and William S. Hodges • > 

Now everyone can learn how to use the ATARI series of home computers for more 
than just playing games. This exciting and entertaining collection of educational com- 
puter programs is designed for parehts to introduce their children to the rewards of 
computing. Using easy-to-learn techniques, parents can experiment with sugges- 
tions for modifying and personalizing their own family programs, while youngsters 
sharpen their math and vocabulary skills, learn the metric system, and even get a 
taste of portfolio management by "playing the stock market." At the same time, both 
parents and children will begin an invaluable lifelong education in computer literacy 

The twenty-five programs use linear, branching, and simulation techniques for such 
games as: 

Capitals of Nations Story Teller Story Writer 

Guess the Numbers Synonyms/Antonyms Acceleration 

Guess the Word Testjutor Ballistics 

Math Tutor ' Time, Distance, and Car Wash 

Math Word Problems Velocity Check-Out Counter 

Memory Test -Letters Too High - Too Low Stock Market 

Memory Test -Numbers Trivia Quiz Teach Me 

Scrambled Words - ' Factor Game 

Spelling Quiz Math Teacher 



Since program listings are given both in ATARI BASIC and Microsoft® BASIC, the 
programs will run on all ATARI Home Computer models and configurations, either 
cassette or disk. The book also includes an appendix — complete with program 
examples — which shows how to add exciting sound and color graphics to the 
programs to enhance the interactive learning process. 



ATARI is a registered trademark of Atari, Inc. I 

400/800, 600XL, 800XL, 1200XL, 1400XL, 1450XLD, and VCS 2600/5200 are' 

trademarks of Atari, Inc. 

Microsoft is a registered trademark of Microsoft Corporation. 

Little, Brown and Company • Boston -Toronto 
08831545 



feN_.